in reply to Re: Reading a .txt file under 2 levels of compression
in thread Reading a .txt file under 2 levels of compression

Code from my previous post ---------------------------------------------------------------------

#!/usr/bin/perl use IO::Uncompress::Unzip qw(unzip $UnzipError); my $file = 'all.zip'; my $inner; unzip $file, \$inner, Name => '1.zip'; my $txt; unzip \$inner, \$txt, Name => 'ReadMe.txt'; print "$txt\n";
Edited Code to start reading from Tar then any zip/gz file ---------------------------------------------------------------------
#!/usr/bin/perl use Archive::Tar; use IO::Compress::Gzip qw(gzip $GzipError); use IO::Uncompress::Gunzip qw(gunzip $GunzipError); use IO::Uncompress::Unzip qw(unzip $UnzipError); use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError +); my $tar = Archive::Tar->new; #my $inner; $tar->read('test.tar'); $inner = $tar->get_content('1.zip'); #$tar->extract_file('1.zip', \$inner); anyuncompress \$inner, \$txt, Name => '3.txt'; #unzip \$inner, \$txt, Name => 'ReadMe.txt'; #works #gunzip 'test.gz', $txt; #doesn't work print "$txt\n";
Hi all Perl Monks, I have a question. How can I use anyuncompress to uncompress and load a zip/gz file onto a reference? Above is the work I have done so far, the major issue is with the second part of uncompressing a reference file other than zip.

Replies are listed 'Best First'.
Re: AnyUncompress on a reference to another reference
by pmqs (Friar) on Jan 14, 2011 at 10:45 UTC
    anyuncompress doesn't take a Name parameter. Try
    anyuncompress \$inner => \$txt;
    If you are only dealing with gzip files, then use this
    gunzip \$inner => \$txt;
      anyuncompress \$inner => \$txt;
      oh my...it worked! thank you! Have a good weekend!
Re: AnyUncompress on a reference to another reference
by marto (Cardinal) on Jan 14, 2011 at 09:34 UTC
      more or less right. My first post was with regards to how to read a file under 2 levels of compression. Now my question is how can anyuncompress open a reference