![]() |
![]()
| ![]() |
![]()
NAMEIO::Zlib - IO:: style interface to Compress::Zlib SYNOPSISWith any version of Perl 5 you can use the basic OO interface: use IO::Zlib; $fh = new IO::Zlib; if ($fh->open("file.gz", "rb")) { print <$fh>; $fh->close; } $fh = IO::Zlib->new("file.gz", "wb9"); if (defined $fh) { print $fh "bar\n"; $fh->close; } $fh = IO::Zlib->new("file.gz", "rb"); if (defined $fh) { print <$fh>; undef $fh; # automatically closes the file } With Perl 5.004 you can also use the TIEHANDLE interface to access compressed files just like ordinary files: use IO::Zlib; tie *FILE, 'IO::Zlib', "file.gz", "wb"; print FILE "line 1\nline2\n"; tie *FILE, 'IO::Zlib', "file.gz", "rb"; while (<FILE>) { print "LINE: ", $_ }; DESCRIPTION"IO::Zlib" provides an IO:: style interface to Compress::Zlib and hence to gzip/zlib compressed files. It provides many of the same methods as the IO::Handle interface. Starting from IO::Zlib version 1.02, IO::Zlib can also use an external gzip command. The default behaviour is to try to use an external gzip if no "Compress::Zlib" can be loaded, unless explicitly disabled by use IO::Zlib qw(:gzip_external 0); If explicitly enabled by use IO::Zlib qw(:gzip_external 1); then the external gzip is used instead of "Compress::Zlib". CONSTRUCTOR
OBJECT METHODS
USING THE EXTERNAL GZIPIf the external gzip is used, the following "open"s are used: open(FH, "gzip -dc $filename |") # for read opens open(FH, " | gzip > $filename") # for write opens You can modify the 'commands' for example to hardwire an absolute path by e.g. use IO::Zlib ':gzip_read_open' => '/some/where/gunzip -c %s |'; use IO::Zlib ':gzip_write_open' => '| /some/where/gzip.exe > %s'; The %s is expanded to be the filename ("sprintf" is used, so be careful to escape any other "%" signs). The 'commands' are checked for sanity - they must contain the %s, and the read open must end with the pipe sign, and the write open must begin with the pipe sign. CLASS METHODS
DIAGNOSTICS
SEE ALSOperlfunc, "I/O Operators" in perlop, IO::Handle, Compress::Zlib HISTORYCreated by Tom Hughes <tom@compton.nu>. Support for external gzip added by Jarkko Hietaniemi <jhi@iki.fi>. COPYRIGHTCopyright (c) 1998-2004 Tom Hughes <tom@compton.nu>. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|