use warnings; use strict; use IO::Uncompress::Unzip (); my $filename = 'foo.zip'; my $membername = 'bar.txt'; my $z = IO::Uncompress::Unzip->new($filename, Name=>$membername) or die "unzip failed: $IO::Uncompress::Unzip::UnzipError\n"; while (my $line = <$z>) { # do something with each $line } $z->close;