summaryrefslogtreecommitdiff
path: root/examples/readScalar.pl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/readScalar.pl')
-rw-r--r--examples/readScalar.pl26
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/readScalar.pl b/examples/readScalar.pl
new file mode 100644
index 0000000..58dac47
--- /dev/null
+++ b/examples/readScalar.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+# Demonstrates reading a zip from an IO::Scalar
+# $Revision: 1.4 $
+use strict;
+use Archive::Zip qw(:CONSTANTS :ERROR_CODES);
+use IO::Scalar;
+use IO::File;
+
+# test reading from a scalar
+my $file = IO::File->new('testin.zip', 'r');
+my $zipContents;
+binmode($file);
+$file->read($zipContents, 20000);
+$file->close();
+printf "Read %d bytes\n", length($zipContents);
+
+my $SH = IO::Scalar->new(\$zipContents);
+
+my $zip = Archive::Zip->new();
+$zip->readFromFileHandle($SH);
+my $member = $zip->addString('c' x 300, 'bunchOfCs.txt');
+$member->desiredCompressionMethod(COMPRESSION_DEFLATED);
+$member = $zip->addString('d' x 300, 'bunchOfDs.txt');
+$member->desiredCompressionMethod(COMPRESSION_DEFLATED);
+
+$zip->writeToFileNamed('test2.zip');