-#!/usr/local/bin/perl
+#!/usr/bin/perl
use strict ;
use warnings ;
+use IO::Uncompress::Gunzip qw($GunzipError);
-use Compress::Zlib ;
-
-die "Usage: gzgrep pattern file...\n"
- unless @ARGV >= 2;
+die "Usage: gzgrep pattern [file...]\n"
+ unless @ARGV >= 1;
my $pattern = shift ;
-
my $file ;
+@ARGV = '-' unless @ARGV ;
+
+foreach $file (@ARGV) {
+ my $gz = new IO::Uncompress::Gunzip $file
+ or die "Cannot uncompress $file: $GunzipError\n" ;
+
+ while (<$gz>) {
+ print if /$pattern/ ;
+ }
+
+ die "Error reading from $file: $GunzipError\n"
+ if $GunzipError ;
+}
+
+__END__
foreach $file (@ARGV) {
my $gz = gzopen($file, "rb")
or die "Cannot open $file: $gzerrno\n" ;