| 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')
setLineEnd(expr)Archive::Zip::MemberRead->setLineEnd($nl)
rewind()Archive::Zip::MemberRead so that you can read from it again
starting at the beginning.
input_record_separator(expr)input_line_number()getline().
Using read() will not update the line number.
close()getline()rewind() is called.
Note: The line returned has the input_record_separator (default: 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 2002 Sreeji K. Das.
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. |