use Archive::Zip; use Archive::Zip::MemberRead; ..... my $zip = Archive::Zip->new($file); my @ziplist=$zip->memberNames(); ..... foreach my $afile (@ziplist) { my $member = $zip->memberNamed($afile); my $fh=$member->readFileHandle(); while (my $line = $fh->getline()) {.... etc ....}