#!/usr/bin/perl # 年齢計算表示プログラム(Perl版) ver 0.2 (2006/10/xx) # Copyright 2006 Sena Minamino All rights reserved. # WebPage http://my.sena.to/ # E-Mail my@sena.to # 自分の生年月日を登録 $b_year = 1981; # 年(西暦4桁) $b_mon = 12; # 月 $b_day = 6; # 日 # 現在の日時取得 local($sec, $min, $hour, $mday, $mon, $year) = (localtime()); $year = $year + 1900; $mon = $mon + 1; # 現在の年から誕生日の年を引く $age = $year - $b_year; # 現在の日時が誕生日の日時を越えてなければ年から更に1歳引く if (($mon < $b_mon) || ($mon == $b_mon && $mday < $b_day)) { $age--; } # 引数によって実行結果を分ける $mode = $ENV{'QUERY_STRING'}; if ($mode eq "") { &display; } elsif ($mode eq "check") { ✓ } else { &error; } # 表示部のヘッダー sub header { print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "\n"; print "\n\n"; print "\n"; print "年齢計算表示プログラム\n\n\n"; } # 表示部のフッター & 著作権表示 sub footer { print "

年齢表示計算プログラム ver 0.2
\n"; print "Copyright 2006 - 2007 Sena Minamino All rights reserved.

\n"; print "\n\n"; } # チェックモード sub check { &header; print "

現在の日時は $year年$mon月$mday日 $hour時$min分$sec秒 です。

\n"; print "

あなたの生年月日は $b_year 年 $b_mon 月 $b_day 日 で、"; print "現在 $age 歳です。

\n\n"; &footer; } # 計算結果を表示 sub display { print "Content-type: text/html\n\n"; print "$age"; } # エラー処理 sub error { &header; print "

Error!

\n"; print "

引数が正しくありません。

\n"; &footer; }