2013-07-17 62 views

回答

14

perldoc perlvar

變量[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]"; 
} 

這是沒有意義的檢查[email protected]不使用某種形式的eval,它使不出來,檢查$!當你已經不叫,可將其設置在一個錯誤的情況下的功能。