use strict; use warnings; use IO::Compress::Zip qw(:all); my $outfile = "test.zip"; my $dir = "test_dir"; zip [ <$dir/*.txt> ] => $outfile, BinModeIn => 0 or die "zip failed: $ZipError\n";