in reply to Searching a gzip file
That example is equivalent to using a shell command like this (having the same benefit of not needing to save an uncompressed version of the big file on disk, even temporarily):#!/usr/bin/perl use strict; use PerlIO::gzip; open( my $zip, "<:gzip", "bigfile.gz ) or die "$!\n"; while (<$zip>) { print if ( /some regex/ ); }
Note that PerlIO::gzip can open output files too, with open( $fh, ">:gzip", "out.gz"), in case you expect to generate a lot of output and want it to be compressed as you go -- that would be equivalent to adding | gzip > out.gz at the end of the shell command line shown above.gunzip < bigfile.gz | grep 'some regex'
UPDATE: (2010-10-18) It seems that PerlIO::gzip should be viewed as superseded by PerlIO::via:gzip. (see PerlIO::gzip or PerlIO::via::gzip).
|
|---|