use strict; use warnings; use Archive::Zip qw(:ERROR_CODES :CONSTANTS); my @SourceFiles = glob('C:/Temp/*.txt'); my $zip = Archive::Zip->new(); foreach my $memberName (@SourceFiles) { print "$memberName\n"; $zip->addFile( $memberName ) or warn "Can't add file $memberName\n"; } unless ( $zip->writeToFileNamed('C:/Temp/Files.zip') == AZ_OK ) { die 'write error'; }