#!/usr/local/bin/perl
+use IO::Uncompress::Gunzip qw( $GunzipError );
use strict ;
use warnings ;
-use Compress::Zlib ;
-
#die "Usage: gzcat file...\n"
# unless @ARGV ;
-my $filename ;
+my $file ;
+my $buffer ;
+my $s;
@ARGV = '-' unless @ARGV ;
-foreach my $filename (@ARGV) {
- my $buffer ;
-
- my $file = $filename ;
- $file = \*STDIN if $file eq '-' ;
-
- my $gz = gzopen($file, "rb")
- or die "Cannot open $file: $gzerrno\n" ;
+foreach $file (@ARGV) {
+
+ my $gz = new IO::Uncompress::Gunzip $file
+ or die "Cannot open $file: $GunzipError\n" ;
- print $buffer while $gz->gzread($buffer) > 0 ;
+ print $buffer
+ while ($s = $gz->read($buffer)) > 0 ;
- die "Error reading from $filename: $gzerrno" . ($gzerrno+0) . "\n"
- if $gzerrno != Z_STREAM_END ;
+ die "Error reading from $file: $GunzipError\n"
+ if $s < 0 ;
- $gz->gzclose() ;
+ $gz->close() ;
}
+