PerlIO::gzip version 0.09 ========================= A layer for the PerlIO system to transparently gzip/gunzip files. Alpha at the moment, does now (well, since 0.06, oops) gzip and gunzip. **DON'T** trust it with your data. YOU NEED PERL later than 5.7.1 yes. this only works on UNSTABLE DEVELOPMENT PERL Warning >>>Moving Goalposts Nick I-S has changed the API for perlio. patchelevel 9333 worked for 0.01-0.08 This version needs 5.7.1, but vanilla 5.7.1 has bugs in open() that mean that a layer failing to push currently doesn't cause the entire open to fail (as it should). Currently tests 13, 93, 97 and 98 fail because of this. The API may change again. INSTALLATION To install this module type the following: perl Makefile.PL make make test echo I know that this is alpha quality and I am using it at my own risk make install That echo statement is particularly important. DEPENDENCIES This module requires perl 5.7.1 or later compiler with PerlIO. (which is now the default), and the zlib compression library. BUGS Threads - I doubt this module is threadsafe. flush() doesn't really flush, just empty the buffer TODO Lots: Add an open method so that things we don't like (read/write opens) are faulted early (ie before a file is created on disk) and so that we add "b" flag to the open for the layer below. Test more Rewrite flush to really flush, and write a PerlIOGzip_write() rather than rely on PerlIOBuf_write, which calls flush() to empty the buffer each time. Test more Cope with crlf systems. Should this layer turn off crlf on the layer below and turn it on on itself? Cope with utf8. Should the utf8 flag be hiked above us? Test more Worry about threads. Writing headers with fancy stuff (filename, comment, extra info, header crc) What to about the "TEXT" flag in the gzip header Test more COPYRIGHT AND LICENCE You may distribute this work under the terms of either the GNU General Public License or the Artistic License, as specified in perl's README file. Copyright © 2001 Nicholas Clark