my $file = "/usr/local/apache/logs/access.log.1.gz"; open(PIPE, "gunzip -dc $file |") or die "gunzip $file: $!"; while ( ) { next if ! m|dd/Mon/yyyy|; # massive whatever } close(PIPE);