die
die LIST
evalの外側で使用するとLISTの値を標準エラー出力に出力して、ステータスコード$!(errno←C言語でおなじみ)でプログラムを終了します。LISTを省略すると$@(最後に実行したevalが返した構文エラーメッセージ)が使われます。このとき$@に値がない場合には'Died'という文字列が使われます。
evalの内側で使用すると、本来標準エラー出力に出力されるメッセージを$@にセットして、返値が未定義値でevalが終了します。
サンプルプログラム
use strict; use warnings; my $name1 = 'nanchara.txt'; my $name2 = 'douchara.txt'; rename $name1, $name2 or die "rename($name1,$name2):", $!;
関連項目
・エラー終了する・スタックトレース付きエラー
・システムエラー情報
・エラー時の自動die
・eval関数
・exit関数
・warn関数