第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 の違いです。


それでは また〜