加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如果文件不存在,为什么我的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")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读