perl 日記
perl はほとんど使ったことがありません。というかプログラミングしません。いや、これからするのです。
既にあるスクリプトとかプログラムをいじったりするのはよくやるんですけど、いちから書いたことはありません。
というわけで勝手に講座聴講開始。
- ため日記 - プログラミング講座第2回
http://d.hatena.ne.jp/kiyohero/20051030/1130689308
と書いてあるのを見て「きよへろさんの環境ってかわってるんだなぁ」と思ったことはさておき、やってみました。
#!/perl/usr/bin
はじめてゼロから書いた perl スクリプトです。
#!/usr/bin/perl
use strict;
use warnings;my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my $jpwday;if ($wday == 0) {$jpwday = "日";}
elsif ($wday == 1) {$jpwday = "月";}
elsif ($wday == 2) {$jpwday = "火";}
elsif ($wday == 3) {$jpwday = "水";}
elsif ($wday == 4) {$jpwday = "木";}
elsif ($wday == 5) {$jpwday = "金";}
elsif ($wday == 6) {$jpwday = "土";}print $year+1900,"年", $mon+1,"月", $mday,"日", $jpwday,"曜日", $hour,"時", $min,"分", $sec,"秒\n";
おお動いた!
> perl date.pl
2005年10月31日月曜日2時4分6秒
参考にしたのは
- time 関数リファレンス -Perl講座 [SMART!]
http://www.rfs.jp/sitebuilder/perl/05/func/time.html
です。
localime() の他には gmtime() があって、こっちのほうは
- gmtime 関数リファレンス -Perl講座 [SMART!]
http://www.rfs.jp/sitebuilder/perl/05/func/gmtime.html
PerlライブラリモジュールTime::Localにはtimegmサブルーチンが用意されていて、gmtimeの逆変換が可能です。
ということを知る。へぇ。
if は授業で VB をやったときにちょろっと教わったのをふと思い出したので、試みに elseif とか書いてみたらエラーが出ました。
ぐぐってみると VB とちがって elsif だとことがわかったので修正したらうまくいきました。
以下メモ。