Sample code for 30+ languages & platforms
Perl

Unzip Selected Files from a Zip Archive

See more Zip Examples

Demonstrates how to iterate over the files contained within a .zip and unzip specific files.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

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

$success = $zip->OpenZip("my_files.zip");
if ($success == 0) {
    print $zip->lastErrorText() . "\r\n";
    exit;
}

$unzipDir = "/temp/unzipDir";

# Get the number of files and directories in the .zip
$n = $zip->get_NumEntries();

$entry = chilkat::CkZipEntry->new();

$i = 0;
while ($i < $n) {

    $zip->EntryAt($i,$entry);
    if ($entry->get_IsDirectory() == 0) {
        # (the filename may include a path)
        print $entry->fileName() . "\r\n";

        # Your application may choose to unzip this entry
        # based on the filename.
        # If the entry should be unzipped, then call Extract(unzipDir)
        $success = $entry->Extract($unzipDir);
        if ($success == 0) {
            print $entry->lastErrorText() . "\r\n";
            exit;
        }

    }

    $i = $i + 1;
}