#!/usr/bin/perl
use warnings;
use strict;
use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
my $zip1Name = '.\\tmp\\test1.zip';
my $zip2Name = '.\\tmp\\test2.zip';
my $zip1 = Archive::Zip->new();
my $zip2 = Archive::Zip->new();
if (!-e $zip2Name || !-e $zip1Name) {
die "run test_arc.pl to create zip files for this.";
}
unless ( $zip1->read( $zip1Name ) == AZ_OK ) {die 'zip1 read error';}
unless ( $zip2->read( $zip2Name ) == AZ_OK ) {die 'zip2 read error';}
my $rm_return = $zip1->removeMember('rr.log');
if ($rm_return) {
print "removeMember : ", $rm_return->fileName() ,"\n";
$zip2->addMember($rm_return) or
die "Can't add ", $rm_return->fileName() ," to zip!";
} else {print "\$rm_return is undef\n";}
unless ( $zip1->overwrite() == AZ_OK ) {
die 'zip1 overwrite() error'; }
# unless ( $zip2->overwrite() == AZ_OK){die 'zip2 overwrite() error';}
unless ( $zip2->writeToFileNamed('.\\tmp\\newtest2.zip') == AZ_OK ) {
die 'zip2 write() error'; }
####
Member rr.log CRC error: file says ff147173 computed: 354acf95
CRC errors found.
####
my $removed_member = $zip1->removeMember( 'foo' );
$removed_member->extractToFileNamed('foo');