Hatena::ブログ(Diary)

bingo_nakanishiの他言語出身者のためのPerl入門

2009-01-24

第42回 warn

00:05 | 第42回 warnを含むブックマーク

die を書けば、プログラムはそこで終了してしまうわけですが、

warn にすると、プログラムは終了しません。

これをつかって、

ファイルが open できなくても、警告メッセージを出すだけにとどめ、処理を続けることができます。

まず、dieを使った例を見てみてから、dieをwarnに書き換えて、その実行結果を比べてみましょう。


dieを使った例

open my $f, '<', 'hoge.txt' or die $!;
print 'ここまでこれるかな', "\n";

結果

No such file or directory at bingo.pl line 1.

warnを使った例

open my $f, '<', 'hoge.txt' or warn $!;
print 'ここまでこれるかな', "\n";

結果

No such file or directory at bingo.pl line 1.
ここまでこれるかな


まとめ

dieを使った場合では、

ここまでこれるかな

は、表示されていません。 つまり、dieを実行した行で、プログラムが終了しています。

それに対し、warnを使った例では、

ここまでこれるかな

が表示されています。よって、warnを実行した行で、プログラムが終了せず、次の行以降も処理されているのです。


このように、プログラムが終了するか、しないか これが die と warn の違いです。


それでは また〜

トラックバック - http://d.hatena.ne.jp/bingo_nakanishi_perl/20090124/1232809534