Ned Konz > Archive-Zip-1.14 > Archive::Zip::MemberRead

Download:
Archive-Zip-1.14.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  39
Open  40
View/Report Bugs
Source   Latest Release: Archive-Zip-1.37

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, <sreeji_k@yahoo.com> 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.

syntax highlighting: