我在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行。”
我想“死”,没有错误信息。
有可能吗?
答案 0 :(得分:14)
请参阅die的文档。
如果LIST的最后一个元素没有以换行符结尾,则为当前 脚本行号和输入行号(如果有的话)也被打印出来, 并提供换行符。
因此,只需使用die "\n"
即可完成工作而无需打印任何内容。但鉴于您有错误消息,我不明白为什么您不使用它。
unless (-e $f1) {
die "\n Pre_check file does not exist!\n";
}
当然,区别在于消息现在将转到STDERR而不是STDOUT。但这可能是它的最佳去处。
答案 1 :(得分:7)
使用exit
代替die
。
答案 2 :(得分:4)
您可能希望exit 1
而不是死亡。
答案 3 :(得分:4)
你可以说
die "\n";
取消消息。
答案 4 :(得分:3)
my $f1 = "$pre_file";
unless (-e $1) {
print "\n Pre_check file does not exists! \n";
exit 1;
}