my $x=1; my $zip = Archive::Zip->new(); foreach (@filelist) { my $file = Archive::Zip->new($_); my $directoryname = 'zip'.$x; foreach ($file->members()){ my $m = $zip->addMember( $_ ); $m->fileName($directoryname.'/'.$m->fileName()); } $x++; }