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関数