Perl: How to “die” with no error message?

谁说我不能喝 提交于 2021-02-08 19:54:32

问题


I run a simple file test in perl with the code below:

my $f1 = "$pre_file";

 unless (-e $1) {

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

 die;

 } 

It prints the following output:

Pre_check file does not exists!
Died at ./huawei-postcheck line 81.

However I do not want the last line "Died at ./huawei-postcheck line 81.".

I want to to "die" with no error message.

Is it possible?


回答1:


You could just say

die "\n";

to suppress the message.




回答2:


See the documentation for die.

If the last element of LIST does not end in a newline, the current script line number and input line number (if any) are also printed, and a newline is supplied.

So you can get die to work without printing anything by just using die "\n". But given that you have an error message, I can't see why you don't use that.

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

Of course, the difference is that the message will now go to STDERR rather than STDOUT. But that's probably the right place for it to go.




回答3:


use exit instead of die.




回答4:


You probably want to exit 1 instead of dying then.




回答5:


my $f1 = "$pre_file";

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


来源:https://stackoverflow.com/questions/7820344/perl-how-to-die-with-no-error-message

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!