cmv has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks!
I'm seeing some unusual IO::Uncompress::Gunzip behavior, that doesn't seem to track with how the gzip command works. Please help me understand this difference. Basically, if I have a number of gzipped files in a directory, and run the command
I get the contents of all the files to stdout. However, if I do a similar thing from inside a perl script, using IO::Uncompress::Gunzip, I only get the contents of the first file. Here is my test script (for unix):cat files* | gunzip -c
Any pointers are greatly appreciated!use strict; use warnings; use IO::Compress::Gzip qw(gzip $GzipError) ; use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ; my $file; for my $txt ( qw(File1| File2| File3|) ) { $file = "/tmp/tst${txt}.gz"; print STDERR "$file\n"; gzip \$txt => $file or die "gzip failed: $GunzipError\n"; } my $contents = `cat /tmp/tst*`; print STDERR "contents=$contents\n"; my $out; gunzip \$contents => \$out or die "gunzip failed: $GunzipError\n"; print STDERR "Here comes the decrypted stuff:\n$out\n"; print STDERR "Now we use the gunzip command to do the same:\n"; print STDERR `cat /tmp/tst* | gunzip -c`;
Thanks
-Craig
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Unusual IO::Uncompress::Gunzip behavior
by pmqs (Friar) on Sep 27, 2012 at 09:15 UTC | |
by cmv (Chaplain) on Sep 27, 2012 at 14:54 UTC |
Back to
Seekers of Perl Wisdom