繁体   English   中英

Perl:如何“死”,没有错误信息?

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

我在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行”。

我想“死”,没有错误信息。

可能吗?

请参阅die的文档。

如果LIST的最后一个元素不以换行符结尾,则还会打印当前脚本行号和输入行号(如果有),并提供换行符。

因此,只需使用die "\\n"模具就可以在不打印任何内容的情况下使用。 但鉴于您有错误消息,我不明白为什么您不使用它。

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

当然,区别在于消息现在将转到STDERR而不是STDOUT。 但这可能是它的最佳选择。

使用exit而不是die

你可能想exit 1而不是死。

你可以这么说

die "\n";

压制消息。

my $f1 = "$pre_file";

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM