#!/usr/bin/perl use CGI qw(:standard); use Date::Calc qw(:all); print header(); print start_html(); &print_calender(4, 2000); print end_html(); sub print_calender { my $month = shift; my $year = shift; my %res; open(RES, "reserve.dat")||die; while(($date,$email) = split(/\s/, )) { $res{$date} = $email; } print "
\n"; print start_form(), "\n"; print "\n"; print "", "\n"; $dow = 7; for($i=1; $i<=7; $i++) { print "\n"; $dow = $dow %7 + 1; } print "\n"; $day = 1; while(check_date($year, $month, $day)) { $weekday = Day_of_Week($year, $month, $day); $weekday = $weekday % 7 + 1; print "\n"; for($j=1;$j<$weekday;$j++) { print "", "\n"; } for($j=$weekday;$j<8;$j++) { if(check_date($year, $month, $day)) { print "", "\n"; $day++; } else { print "", "\n"; } } print "", "\n"; } print "
", b(Day_of_Week_to_Text($dow)), "
", br, "", "\n"; print b($day), br, "\n"; unless( $res{"$year:$month:$day"} =~ /\S/ ) { print checkbox(-name=>"$year:$month:$day", -label=>"Reserve"); } print "", br, "
\n"; print "Email Address: ", textfield(-name=>'email'), br; print submit(-name=>'Make Reservation'); print "\n"; print "
\n"; }