1 # Example of how to compute compressed sizes
4 use Archive::Zip qw(:ERROR_CODES);
6 my $zip = Archive::Zip->new();
7 my $blackHoleDevice = File::Spec->devnull();
9 $zip->addFile($_) foreach (<*.pl>);
11 # Write and throw the data away.
12 # after members are written, the writeOffset will be set
13 # to the compressed size.
14 $zip->writeToFileNamed($blackHoleDevice);
17 my $totalCompressedSize = 0;
18 foreach my $member ($zip->members())
20 $totalSize += $member->uncompressedSize;
21 $totalCompressedSize += $member->_writeOffset;
22 print "Member ", $member->externalFileName,
23 " size=", $member->uncompressedSize,
24 ", writeOffset=", $member->_writeOffset,
25 ", compressed=", $member->compressedSize,
29 print "Total Size=", $totalSize, ", total compressed=", $totalCompressedSize, "\n";
31 $zip->writeToFileNamed('test.zip');