2011-10-19 12 views
2

私は以下のコードとPerlで単純なファイルのテストを実行します。Perl:エラーメッセージなしで「死ぬ」方法?

my $f1 = "$pre_file"; 

unless (-e $1) { 

print "\n Pre_check file does not exists! \n"; 

die; 

} 

それは次のように表示されます

Pre_checkファイルが存在しません!
は、私が「./huawei-postcheckライン81で死んだ」最後の行をしたくないしかし./huawei-postcheckライン81

で死亡しました。

エラーメッセージなしで「死にたい」と思っています。

可能ですか?

答えて

4

あなただけのメッセージを抑制するために

die "\n"; 

を言うことができます。

+0

私の要求通りに適しています....ありがとう – Mahesh

7

dieの代わりにexitを使用してください。

+1

exit(1)正確には – Arkadiy

+2

@Arkadiy、 'die'は実際に' $! || $?>> 8 ||あなたがそれをエミュレートしたいのであれば、「255」 – ikegami

4

恐らくexit 1になります。

3
my $f1 = "$pre_file"; 

unless (-e $1) { 
    print "\n Pre_check file does not exists! \n"; 
    exit 1; 
} 
13

dieのドキュメントを参照してください。

リストの最後の要素が改行で終わっていない場合、現在の スクリプト行番号と入力回線番号(もしあれば)も、印刷 と改行が供給されます。

die "\n"を使用するだけで、何も印刷せずにダイを稼働させることができます。しかし、あなたがエラーメッセージを持っているとすれば、なぜあなたはそれを使わないのか分かりません。

unless (-e $f1) { 
    die "\n Pre_check file does not exist!\n"; 
} 

もちろん、メッセージがSTDOUTではなくSTDERRに移動するという違いがあります。しかし、それはおそらくそれが行くための適切な場所です。

+0

+1より良い練習を教えてください。 – daxim

関連する問題