IO::Uncompress::Unzip модуль может помочь вам.
use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
unzip $input_filename_or_reference => $output_filename_or_reference [,OPTS]
or die "unzip failed: $UnzipError\n";
Функциональный интерфейс требует Perl5.005 или выше.
Или Вы можете использовать модуль CPAN PerlIO::gzip:
use PerlIO::gzip;
open FOO, "<:gzip", "file.gz" or die $!;
print while <FOO>; # And it will be uncompressed...
binmode FOO, ":gzip(none)" # Starts reading deflate stream from here on
PerlIO::gzip
обеспечивает слой PerlIO, который манипулирует файлы в формате, используемом программой gzip
. Сжатие и декомпрессия реализованы, но не вместе. Если вы попытаетесь открыть файл для чтения и записи, это приведет к сбою.