#!/usr/bin/perl use CGI qw(:cgi-lib :all); use strict; use vars qw( $cgiobj $thisscript $rmonth $ryear $ndays $thismonth $thisyear $today $nav_next $nav_prev %query @dmonth ); $cgiobj = new CGI; set_common_vals(); print $cgiobj->header(-type=>'text/html', -charset=>'shift_jis'); print $cgiobj->start_html( -title=>'Calender for life', -meta=>{'keywords'=>'calender'}, -head=>[ Link({-rel=>'stylesheet', -href=>'/styles/style_calender.css', -type=>'text/css', -media=>'screen,print' }), Link({-rel=>'stylesheet', -href=>'/styles/style_calender_print.css', -type=>'text/css', -media=>'print' }), Link({-rel=>'stylesheet', -href=>'/styles/style.css', -type=>'text/css', -media=>'screen,print' }) ] ); print_calender(1); print $cgiobj->address('(C) Omi KIKUCHI'); print $cgiobj->startform( -method=>'get', ); print $cgiobj->p( 'Enter the year and select the month:', $cgiobj->br(), $cgiobj->textfield( -name=>'ryear', -default=>$ryear, -size=>9, -maxlength=>80 ), $cgiobj->popup_menu( 'rmonth', [1..12], $rmonth, {map { $_=>"$_ $dmonth[$_-1]" } (1..12)} ), $cgiobj->submit('submitbtn', 'DISPLAY!') ) ; print $cgiobj->endform(); print $cgiobj->p( $cgiobj->a({href=>'calender_source.cgi'}, 'SOURCE (PERL)') ); sub print_calender { if ($rmonth == 2) { if (isLeap($ryear)) { $ndays++; } } my $firstwday = getwday($ryear, $rmonth, 1); if (shift) { $nav_next = $thisscript . '?'; $nav_prev = $thisscript . '?'; if ($rmonth == 12) { $nav_next .= 'rmonth=1&ryear=' . ($ryear + 1); $nav_prev .= 'rmonth='. ($rmonth - 1) . '&ryear='. $ryear; $nav_next = $cgiobj->a({href=>$nav_next}, $dmonth[0]); $nav_prev = $cgiobj->a({href=>$nav_prev}, $dmonth[10]); } elsif ($rmonth == 1) { $nav_next .= 'rmonth=2&ryear=' . $ryear; $nav_prev .= 'rmonth=12&ryear='. ($ryear - 1); $nav_next = $cgiobj->a({href=>$nav_next}, $dmonth[1]); $nav_prev = $cgiobj->a({href=>$nav_prev}, $dmonth[11]); } else { $nav_next .= 'rmonth=' . ($rmonth + 1). '&ryear=' . $ryear; $nav_prev .= 'rmonth=' . ($rmonth - 1). '&ryear=' . $ryear; $nav_next = $cgiobj->a({href=>$nav_next}, $dmonth[$rmonth]); $nav_prev = $cgiobj->a({href=>$nav_prev}, $dmonth[$rmonth - 2]); } ; } ; print '