use strict; use warnings; use File::Find; use Archive::Zip qw( :ERROR_CODES ); my @array; my ($zipfile,$filesStr,$output); my %seen; find(sub { push @array, "$File::Find::name" if -f && /\.lib(?:\.\d+)?$/ && !$seen{$File::Find::name}++; }, "."); $filesStr = join(" ",@core_libs); $zipfile = "files.zip"; $output = `zip $zipfile $filesStr`; print "Progress:\n$output\n\nYour files are in [$zipfile].";