Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Persistence of a filehandle for a large file with varying formats

by pmqs (Monk)
on Jan 25, 2013 at 13:39 UTC ( #1015349=note: print w/ replies, xml ) Need Help??


in reply to Persistence of a filehandle for a large file with varying formats

IO::Uncompress::Gunzip gives you a filehandle interface to a gzip file

my $fh = new IO::Uncompress::Gunzip "input file", or die "Cannot open file ..." ; my $line = <$fh> ;
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 this
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");


Comment on Re: Persistence of a filehandle for a large file with varying formats
Select or Download Code
Re^2: Persistence of a filehandle for a large file with varying formats
by seaver (Pilgrim) on Jan 25, 2013 at 17:31 UTC

    Well there you have it, a straight forward answer, I'll test this now. Thank you!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1015349]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2014-08-27 20:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (252 votes), past polls