gpt4 book ai didi

perl - 如果文件不存在,为什么我到 zcat 的 Perl 管道不会死?

转载 作者:行者123 更新时间:2023-12-04 22:37:11 24 4
gpt4 key购买 nike

如果我的 gz 文件不存在,为什么它不死?

$ 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.

最佳答案

您的 open成功(因为它成功运行了 zcat),你不会得到 zcat的退出代码,直到您关闭文件描述符。

您可能想在开始之前检查文件是否存在并且是否可读,例如。

die "unable to read file" unless (-f "dummy.gz" and -r "dummy.gz")

关于perl - 如果文件不存在,为什么我到 zcat 的 Perl 管道不会死?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com