Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

Replace/Update a FIle in a .zip

See more Zip Examples

Demonstrates how to replace/update a file from a .zip. Note: This requires the entire .zip to be rewritten.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

# First prepare a .zip and write it..
my $zip = Chilkat2::Zip->new;

$zip->NewZip('qa_output/abc.zip');

# Add some files..
my $charset = 'utf-8';
$zip->AddString('a.txt', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', $charset);
$zip->AddString('b.txt', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', $charset);
$zip->AddString('c.txt', 'cccccccccccccccccccccccccccccccccccc', $charset);

# Write to qa_output/abc.zip
# This .zip contains three files: a.txt, b.txt, and c.txt
my $success = $zip->WriteZipAndClose();

# -------------------------------------------------------------------
# Open abc.zip, replace the content of the "b.txt" entry with something else, and re-write.
my $zip2 = Chilkat2::Zip->new;
$zip2->OpenZip('qa_output/abc.zip');

my $entry = Chilkat2::ZipEntry->new;
if ($zip2->EntryOf('b.txt', $entry)) {
    $entry->ReplaceString('This is the new content.  bbbbbbbbbbbbbbbbbbbbbb', 'utf-8');
}

# Write the modified .zip back to "abc.zip"
$success = $zip2->WriteZipAndClose();

print "success.\n";