#! /usr/local/bin/perl -w # # calendarForm.cgi -- カレンダーの生成(フォーム使用) # # sample file name: calendarForm.cgi use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); use lib "/home/fukazawa/myperl/lib"; use Calendar::Simple; my $q = new CGI; # create new CGI object my $mon = $q->param("month") || (localtime)[4] + 1; my $yr = $q->param("year") || (localtime)[5] + 1900; print $q->header(-charset=>'EUC-JP'), # HTTP ヘッダーの作成 $q->start_html( -title =>"カレンダー:$yr年$mon月", -lang =>'ja-JP', -charset => 'EUC-JP'), $q->table($q->Tr([ $q->th(['日', '月', '火', '水', '木', '金', '土', ]), map {$q->td(&dateAdjust($_))} calendar($mon, $yr), ])), $q->start_form, $q->textfield(-name=>'year'), '年', $q->textfield(-name=>'month'), '月', $q->submit('表示'), $q->endform, $q->end_html; # end the HTML sub dateAdjust { [ map { if (not defined($_)) { '  '; } elsif ($_ < 10) { ' '.$_; } else { $_; } } @{(shift)} ] }