[perl] 続・初めてのPerl 第10章 「大規模なプログラムの構築」
練習問題の回答をメモ。
ex10-1
package Oogaboogoo; use strict; use warnings; my @day = qw(ark dip wap sen pop sep kir); sub number_to_day_name { my $num = shift @_; die "Input number must be between 0 and 6!: $!" if $num < 0 || $num > 6; $day[$num]; } my @month = qw(diz pod bod rod sip wax lin sen kun fiz nap dep); sub number_to_month_name { my $num = shift @_; die "Input number must be between 0 and 11!: $!" if $num < 0 || $num > 11; $month[$num]; } 1;
ex10-2
#!/usr/bin/perl use strict; use warnings; require 'perl_lib/ex10-1.pm'; my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime; my $Ooga_wday = Oogaboogoo::number_to_day_name($wday); my $Ooga_mon = Oogaboogoo::number_to_month_name($mon); $year += 1900; print "Today is $Ooga_wday, $Ooga_mon $mday, $year\n";
反省点
&localtime が返す $year は 1900 年からの経過年だよ。気をつけよう。