bday.cgi
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
{
my $q = new CGI;
print
$q->header .
$q->start_html(-title=>'Calendar') .
$q->start_table({
-border=>0,
-bgcolor=>'LightGrey',
-width=>'100%',
-cellpadding=>3,
-cellspacing=>1,
});
my @months = qw( Date January February March April May June July August Septebmer October November December );
my $months = join("\n", map { $q->th($_) } @months );
print $q->Tr({-bgcolor=>'LightBlue'}, $months);
for my $d (1 .. 31) {
my $tdattr = {-width=>'3%'};
$tdattr->{-bgcolor} = 'LightBlue';
my $td = $q->th($tdattr, $d);
for my $m (1 .. 12) {
my $winner = bday($m,$d);
$tdattr->{-bgcolor} = $winner ? 'LightGreen' : 'White';
$td.=$q->td($tdattr, $winner);
}
print $q->Tr({-bgcolor=>'White'}, $td);
}
print
$q->end_table .
$q->end_html;
}
sub bday {
my ($m,$d) = @_;
my @l;
$l[29][4]='me'; # 29, April
$l[29][9]='vl, fb'; # 29 September
$l[31][12]=''; # placeholder
return $l[$d][$m] ? $l[$d][$m] : '';
}