Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Uncompress Gzip File From WWW::Mechanize

by Anonymous Monk
on Apr 10, 2009 at 00:08 UTC ( #756727=perlquestion: print w/replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a gzipped csv file that that was downloaded using WWW::Mechanzie, it can be retrieved by doing:
my $gzipped_csv_file = $mech->content;
How can I unzip the $gzipped_csv_file and store it in $gunzipped without writing to disk?
I don't care about any buffering because it's not a large file.
my $gzipped_csv_file = $mech->content; # uncompress gzip here # store uncompressed file in $gunzipped here my @file = split "\n", $gunzipped;

Replies are listed 'Best First'.
Re: Uncompress Gzip File From WWW::Mechanize
by jasonk (Parson) on Apr 10, 2009 at 00:29 UTC

    Compress::Zlib makes it easy to do in-memory decompression:

    use Compress::Zlib qw( uncompress ); my $data = uncompress( $mech->content ) or die "Error decompressing content" my @file = split( "\n", $data );
    We're not surrounded, we're in a target-rich environment!
Re: Uncompress Gzip File From WWW::Mechanize
by CoVAX (Beadle) on Feb 09, 2015 at 01:49 UTC

    Presumably you specified (via default_header()) the request header, 'Accept-Encoding' => 'gzip, deflate' beforehand, so you can do this:

    my $gunzipped = $mech->content( 'decoded_by_headers' => 1 );

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://756727]
Approved by planetscape
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2018-05-25 06:11 GMT
Find Nodes?
    Voting Booth?