大多数时候,我都是这样做的:
open FH, ">file.txt" or die "Cann't open file: $!";一定要使用die吗?如果我希望我的脚本继续(如果文件无法打开,则忽略错误),我应该怎么做?
发布于 2013-06-26 04:11:52
您可能希望执行以下操作
if(open my $fh, ">", "file.txt") {
# do stuff with file
close $fh;
}
else {
# do stuff without file
} 发布于 2013-06-26 04:09:58
如果代码不能访问文件,那么它不需要使用die。
如果写入文件是可选的,则可以执行以下操作:
my $file_is_ok = 0;
open FH, ">file.txt" and $file_is_ok = 1;
warn "No logging available" unless $file_is_ok;然后,无论你想在哪里使用这个文件句柄,你都可以首先检查它是否正常:
$file_is_ok and print FH "Something happened";通常,您需要比上面更多的抽象,但我希望这足以入门。
发布于 2013-06-26 04:11:01
不,绝对不需要使用die,否则失败的open将直接退出程序。这只是一个常用的结构,因为通常情况下,如果你不能打开一个文件,那么继续下去就没有意义了,但是实际上也没有必要使用die或者做其他任何事情。
https://stackoverflow.com/questions/17306466
复制相似问题