http://www.perlmonks.org?node_id=11118250

sectokia has asked for the wisdom of the Perl Monks concerning the following question:

How do you get IO::Uncompress::Gunzip to error if the input file isn't a GZ file?

Say I have files like:

dd if=/dev/random of=test.random bs=64 count=1 dd if=/dev/zero of=test.zero bs=64 count=1 echo "hello world!" > hello.txt

And my test.pl script is:

use IO::Uncompress::Gunzip qw(gunzip $GunzipError); my $output; my $status = gunzip $ARGV[0] => \$output, Strict => 1 or die "Failed!" +; print $GunzipError; print $output;

Then...

test.pl test.random test.pl test.zero test.pl hello.txt

None of those will die or give error (well test.random will if you are really lucky...)

It seems to me that if the GZIP magic header is no present the input just copies to output instead of being error?