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.