如果文件不存在,为什么我的Perl管道没有zcat死?
发布时间:2020-12-15 23:24:59 所属栏目:大数据 来源:网络整理
导读:如果我的gz文件不存在,为什么不DIE呢? $cat test.pl open(FILE,"zcat dummy.gz |") or die "DIE";$./test.pl zcat: dummy.gz: No such file or directory 如果我正常读取文件,它按预期工作: $cat test2.pl open(FILE,"dummy.gz") or die "DIE";$./test2.pl
如果我的gz文件不存在,为什么不DIE呢?
$cat test.pl open(FILE,"zcat dummy.gz |") or die "DIE"; $./test.pl zcat: dummy.gz: No such file or directory 如果我正常读取文件,它按预期工作: $cat test2.pl open(FILE,"dummy.gz") or die "DIE"; $./test2.pl DIE at ./test.pl line 2. 解决方法
您的打开成功(因为它成功运行zcat),在关闭文件描述符之前,您将无法获得zcat的退出代码.
您可能想要在开始之前检查文件是否存在且可读,例如. die "unable to read file" unless (-f "dummy.gz" and -r "dummy.gz") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |