Sample code for 30+ languages & platforms
Perl

Zip

See more Zip Examples

Zip a directory tree.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

my $zip = Chilkat2::Zip->new;

my $zipPath = 'c:/temp/myFiles.zip';

# Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
$zip->NewZip($zipPath);

# Append references to files to be zipped.
my $recurse = 1;
my $success = $zip->AppendFiles('c:/temp/files_to_zip/*', $recurse);
if (!$success) {
    print $zip->LastErrorText, "\n";
    exit;
}

# Write the .zip and close the zip file (and clears the zip object).
$success = $zip->WriteZipAndClose();
if (!$success) {
    print $zip->LastErrorText, "\n";
    exit;
}

print 'Successfully created ', $zipPath, "\n";

# If the following files existed under c:/temp/files_to_zip

# c:/temp/files_to_zip/aaa/pigs.json
# c:/temp/files_to_zip/bbb/base64Cert.txt
# c:/temp/files_to_zip/bbb/sub1/brasil_cert.pem
# c:/temp/files_to_zip/bbb/sub2/penguins.gif
# c:/temp/files_to_zip/bbb/sub2/starfish.jpg
# c:/temp/files_to_zip/hamlet.xml
# c:/temp/files_to_zip/hello.pdf

# then the zip we created would contain:

# aaa/pigs.json
# bbb/base64Cert.txt
# bbb/sub1/brasil_cert.pem
# bbb/sub2/penguins.gif
# bbb/sub2/starfish.jpg
# hamlet.xml
# hello.pdf