\n
,將不會輸出出錯的程序名稱和出錯的程序行號use autodie;
能夠自動探測操做系統層面上的錯誤並中止程序例如,下面打開文件的操做:函數
if ( ! open LOG "<" "/tmp/a.log" ){ die "open file wrong: $!"; }
上面$!
是收集操做系統報告的錯誤,並由perl報告出來。例如沒有/tmp/a.log文件,上面的程序段落就會報錯:操作系統
wrong open file: No such file or directory at 6.plx line 8.
其中的$!
對應的消息是"No such file or directory"。code
並非每一個錯誤都會有操做系統對應的錯誤。有些錯誤是perl自身的問題,這時候就不須要$!
。get
if ( @ARGV < 2 ){ die "wrong! get help!" }
默認狀況下,die都會自動加上程序名和發生錯誤的行號。若是不想要這些消息,能夠手動在die的末尾加上\n
符號。file
if ( @ARGV < 2 ){ die "wrong! get help!\n" }
使用autodie特性,能夠perl
#!/usr/bin/perl use autodie; open LOG,"<","/tmp/a.log"; close LOG;