Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files. |
Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files.
use Archive::Zip; use Archive::Zip::MemberRead; $zip = new Archive::Zip("file.zip"); $fh = new Archive::Zip::MemberRead($zip, "subdir/abc.txt"); while (defined($line = $fh->getline())) { print $fh->input_line_number . "#: $line\n"; }
$read = $fh->read($buffer, 32*1024); print "Read $read bytes as :$buffer:\n";
The Archive::Zip::MemberRead module lets you read Zip archive member data just like you read data from files.
Archive::Zip::MemberRead
from an archive member by
calling readFileHandle()
:
my $member = $zip->memberNamed('abc/def.c'); my $fh = $member->readFileHandle(); while (defined($line = $fh->getline())) { # ... } $fh->close();
new($member)
my $fh = Archive::Zip::MemberRead->new($zip, 'fred.c')
rewind()
Archive::Zip::MemberRead
so that you can read from it again
starting at the beginning.
input_line_number()
getline()
.
Using read()
will not update the line number.
close()
getline()
rewind()
is called.
Note: The line returned has the newline removed.
read()
system call.
Returns the no. of bytes read. undef
on error, 0 on eof, e.g.:
$fh = new Archive::Zip::MemberRead($zip, "sreeji/secrets.bin"); while (1) { $read = $fh->read($buffer, 1024); die "FATAL ERROR reading my secrets !\n" if (!defined($read)); last if (!$read); # Do processing. .... }
Sreeji K. Das, <sreeji_k@yahoo.com> See the Archive::Zip manpage by Ned Konz without which this module does not make any sense!
Minor mods by Ned Konz.
Copyright (c) 2002 Sreeji K. Das. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files. |