#!/usr/bin/perl use strict; use warnings; use File::Spec::Functions qw'catdir catfile'; use Archive::ZIP qw':ERROR_CODES :CONSTANTS'; # here's an example @chunks array my @chunks = qw(file1.txt file2.txt file3.txt); #example output file name: output.zip in HomeDir my $zip_file = catfile($ENV{HOME},'output.zip'); my $zip = Archive::Zip->new(); foreach my $file (@chunks) { my $member = $zip->addFile($file); #add file $member->desiredCompressionMethod( COMPRESSION_DEFLATED ); #compress file } #write ZIP file to disk my $status = $zip->writeToFileNamed($zip_file); die "Unable to write to file '$zip_file' if $status != AZ_OK; #error check