Sample code for 30+ languages & platforms
Perl

Zip -- Exclude Files Based on Wildcard Matching

See more Zip Examples

Demonstrates how to use the SetExclusions method to exclude matching files from being added to a .zip.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$zip = chilkat::CkZip->new();

$success = $zip->NewZip("qa_output/x.zip");

# Let's add files from the directory tree rooted at C:\AAWorkarea\ChilkatSampleProjects

# However.. we want to exclude all files ending in ".cache" or ".pdb" regardless of the sub-directory.
# Also exclude all files under any "obj" directory,
# and we also want to exclude any .exe found under a "win10-x64" directory.

$saExcludes = chilkat::CkStringArray->new();
$saExcludes->Append("*.cache");
$saExcludes->Append("*.pdb");
$saExcludes->Append("*/obj/*");
$saExcludes->Append("*/win10-x64/*.exe");
$zip->SetExclusions($saExcludes);

# Append promises of paths and files to be zipped.
$recurse = 1;
$success = $zip->AppendFiles("c:/AAWorkArea/ChilkatSampleProjects/*",$recurse);
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

# Create the zip from the file and directory promises added previously.
$success = $zip->WriteZipAndClose();
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

print "Success." . "\r\n";