カレンダーの表示


 Calendar::Simpleを使うと簡単です。
use strict;
use Calendar::Simple;

my @current_month = calendar();
print "今月\n";
print_calendar(@current_month);
print "\n";

print "11月\n";
my @oct = calendar(11);
print_calendar(@oct);
print "\n";

print "2005年12月\n";
my @oct = calendar(12, 2005);
print "日 月 火 水 木 金 土\n";
print_calendar(@oct);
print "\n";

print "2005年12月\n";
my @oct = calendar(12, 2005, 1);
print "月 火 水 木 金 土 日\n";
print_calendar(@oct);
print "\n";

exit;

sub print_calendar {
	my @month = @_;
	
	foreach my $week (@month) {
		foreach my $day (@$week) {
			if (defined $day) {
				printf "%2d", $day;
			} else {
				print "  ";
			}
			print " ";
		}
		print "\n";
	}
}

関連項目

現在の日時を求める