2013-07-17 12 views

答えて

14

変数[email protected]$!$^E、および$?はPerlプログラムの実行中に表示されるエラー条件のさまざまな種類の情報が含まれています。変数は、エラーを報告したサブシステムとPerlプロセスとの間の「距離」によって順序付けられて示されています。 Perlインタプリタ、Cライブラリ、オペレーティングシステム、または外部プログラムによって検出されたエラーにそれぞれ対応します。

3

$!は、システムコールが失敗したときに設定されます。

open my $fh, '<', '/foobarbaz' or die $! 

「このようなファイルまたはディレクトリはありません」と出力されません。

[email protected]には、dieに渡された引数が含まれています。したがって:

eval { 
    open my $fh, '<', '/foobarbaz' or die $! 
}; 
if ([email protected]) { 
    warn "Caught exception: [email protected]"; 
} 

それはevalのいくつかのフォームを使用せずに[email protected]をチェックするために意味をなさない、あなたがエラーの場合には、それを設定することができます関数を呼び出していないとき、それは$!をチェックするために感知しないことができます。

関連する問題