in reply to Persistence of a filehandle for a large file with varying formats
It also has the ability to assume the input file is uncompressed if the input data isn't a gzipped at all. To enable that mode just give it the Transparent option like thismy $fh = new IO::Uncompress::Gunzip "input file", or die "Cannot open file ..." ; my $line = <$fh> ;
my $fh = new IO::Uncompress::Gunzip "input file", Transparent => 1 or die "Cannot open file ..." ; my $line = <$fh> ;
That will give you a filehandle that can read from either a gzip compressed file or uncompressed input file.
One limitation of IO::Uncompress::Gunzip is that it doesn't allow you to seek backwards in a file. If you have a requirement to be able to rewind the input file you will have to reopen the file again. Perhaps something like this (untested)
sub rewind { $_[0]->close(); $_[0] = new new IO::Uncompress::Gunzip $_[1], Transparent => 1 or die "Cannot open file ..." ; } rewind($fh, "somefile");
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Persistence of a filehandle for a large file with varying formats
by seaver (Pilgrim) on Jan 25, 2013 at 17:31 UTC |