my $zip = Archive::Zip->new(); my $archive = "path/file.zip"; die "can't read .zip" unless $zip->read($archive) == AZ_OK; my @members = $zip->memberNames; foreach my $member(@members) { my $newMemberName = ...; $zip->extractMember($member, $newMemberName); }