• ベストアンサー

eval関数の中で実行しているのにdieされる

下記の処理を実行するとdieで処理が終了してしまいます。 my $reg_date = eval{ Date::Simple::date( '2009-02-31' ) }; 疑問が二つDate::Simple::date関数はありえない日付を指定した場合はundefを返しdieされないと認識してました。 もう一つの疑問はeval{}; の中で実行しているのに何でdieで終了するのかがわかりません。 精通している方、どうかご助言ください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

Ubuntu 8.10 perl 5.10.0 Date::Simple 3.03 だと、ちゃんと undef が 返りますよ。 どんな環境でテストされているのでしようか。

ogesatakao
質問者

お礼

回答ありがとうございます。 バージョンは最新の環境でテストをしております。 eval で囲う範囲を広げ、$reg_date を使用している箇所まで含めたら、dieで終了する事はなくなりました。原因はよくわかりませんが。