Content-type: text/html Man page of Archive::Zip::MemberRead

Archive::Zip::MemberRead

Section: User Contributed Perl Documentation (3pm)
Updated: 2006-10-25
Index Return to Main Contents
 

NAME

Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files.  

SYNOPSIS

  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";

 

DESCRIPTION

The Archive::Zip::MemberRead module lets you read Zip archive member data just like you read data from files.  

METHODS

Archive::Zip::Member::readFileHandle()
You can get a "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();

Archive::Zip::MemberRead->new($zip, $fileName)
Archive::Zip::MemberRead->new($zip, $member)
Archive::Zip::MemberRead->new($member)
Construct a new Archive::Zip::MemberRead on the specified member.

  my $fh = Archive::Zip::MemberRead->new($zip, 'fred.c')

rewind()
Rewinds an "Archive::Zip::MemberRead" so that you can read from it again starting at the beginning.
input_line_number()
Returns the current line number, but only if you're using "getline()". Using "read()" will not update the line number.
close()
Closes the given file handle.
buffer_size([ $size ])
Gets or sets the buffer size used for reads. Default is the chunk size used by Archive::Zip.
getline()
Returns the next line from the currently open member. Makes sense only for text files. A read error is considered fatal enough to die. Returns undef on eof. All subsequent calls would return undef, unless a rewind() is called. Note: The line returned has the newline removed.
read($buffer, $num_bytes_to_read)
Simulates a normal "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.
    ....
   }

 

AUTHOR

Sreeji K. Das, <[email protected]> See Archive::Zip by Ned Konz without which this module does not make any sense!

Minor mods by Ned Konz.  

COPYRIGHT

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.


 

Index

NAME
SYNOPSIS
DESCRIPTION
METHODS
AUTHOR
COPYRIGHT

This document was created by man2html, using the manual pages.
Time: 04:14:10 GMT, September 24, 2010