myfinderの技術や周辺的活動のblog

2009年4月27日月曜日

17歳教

今日はどう書く?.orgにお題がいろいろあったので、その中の「17歳教」についてPerlで書いてみた次第。

use strict;
use warnings;
use Date::Simple;

my $birthday = $ARGV[0];

die "入力された日付フォーマットがおかしいです><" if ($birthday !~ /(\d{4})(\d{2})(\d{2})/);
die "入力された日付は存在しません><" if (!Date::Simple->new($birthday));
die "あなたはまだ17歳になってません><" if (((localtime(time))[5] + 1900) - $1 < 17);

my $countYear = ((localtime(time))[5] + 1900) - ($1 + 17);
my $countDay = Date::Simple->new() - Date::Simple->new(($1 + 17, $2, $3));
my $countMonth = $countYear * 12;
my $progressDay = (Date::Simple->new() - Date::Simple->new(((localtime(time))[5] + 1900, $2, $3)));

print "あなたは17歳と" . $countDay . "日です\n";
print "または\n";
print "17歳と" . $countMonth . "ヶ月と" . $progressDay . "日です\n";

「17歳教」についての詳細はこちらを参照のこと。おいおい。

0 件のコメント: