電子書籍の厳選無料作品が豊富!

Perl実行時に引数(YYYYMMDD)をわたして、
それをもとに処理を続けたいと考えています。

($yy1,$mm1,$dd1) = ($ARGV[0] =~ /^(\d{4})(\d{2}-1)(\d{2})$/);
$mytime=timelocal(0,0,00,$dd1,$mm1,$yy1);

このように記述して20081230を引数にして実行しても
日付DDの部分がうまく入らずエラーになってしまいます。
なぜなのでしょうか。

A 回答 (1件)

>/^(\d{4})(\d{2}-1)(\d{2})$/);



二番目の {2}-1 の-1が問題でマッチに失敗してるのでは?
timelocalに渡すので1を引きたいのでしょうけど、それは取得してから
やるべきでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご指摘のとおりでした。

お礼日時:2009/01/05 18:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!