=encoding euc-jp =head1 名前 Calendar::Simple - シンプルなカレンダーを作る為のPerl拡張 =head1 概要 use Calendar::Simple; my @curr = calendar; # 今月を取得 my @this_sept = calendar(9); # 今年の9月を取得 my @sept_2002 = calendar(9, 2002); # 2002年9月を取得 my @monday = calendar(9, 2002, 1); # 2002年9月を取得, # 週の開始を月曜日にする =head1 説明 このとてもシンプルなモジュールはCと呼ぶ一つの関数をエクスポート します。この関数はひと月の日付を表すデータ構造を返します。そのデータ構造 は配列リファレンスの配列を返します。配列の第1レベルは月の中の週を表します。 配列の第2レベルは実際の日が入っています。省略時、それぞれの週の初めは 日曜日です。そして配列の中の値はその日からの日付です。前月と来月からなる 最初の週の始めと最後の週の終わりはいつでもCの値を持ちます。 もし、月と年の引数を省略したときは、今年の今月とみなされます。 3番目の任意引数のstart_dayは、localtime 関数が用意する wday と同様の同じ 値を使ってそれぞれの週の開始日の指定を可能にします。(すなわち、日曜の 代わりに0、月曜の代わりに1、以下同様) 簡単なCの代わりは従ってこのようになります。 #!/usr/bin/perl -w use strict; use Calendar::Simple; my @months = qw(January February March April May June July August September October November December); my $mon = shift || (localtime)[4] + 1; my $yr = shift || ((localtime)[5] + 1900); my @month = calendar($mon, $yr); print "\n$months[$mon -1] $yr\n\n"; print "Su Mo Tu We Th Fr Sa\n"; foreach (@month) { print map { $_ ? sprintf "%2d ", $_ : ' ' } @$_; print "\n"; } =head2 エクスポート C =head1 著者 Dave Cross With thanks to Paul Mison for the start day patch. =head1 関連項目 L, L