#! perl use strict; use warnings; use IO::Uncompress::Unzip qw(unzip $UnzipError) ; my $file = 'data.zip'; open(my $fh, '<', $file) or die "Cannot open file '$file' for reading: $!"; binmode $fh; my $input; { local $/ = undef; $input = <$fh>; } close $fh or die "Cannot close file '$file': $!"; my $output; my $status = unzip \$input => \$output or die "Unzip failed: $UnzipError\n"; print "Status: $status\n"; print "Unzipped text:\n\n>>>$output<<<\n";