CGI-Compress-Gzip

Last update: v0.22, 2006-11-07

CGI::Compress::Gzip extends the CGI infrastructure to compresses output, whenever possible. It uses IO::Zlib (a filehandle wrapper around the C zlib library). If this is missing, the functionality degrades gracefully to the typical CGI behavior. The programmer can selectively enable or disable the compression functionality at will. This module does not rely on any particular server setup. It should work anywhere that CGI.pm works.

Apache mod_perl users may prefer the more straightforward implementation offered by the Apache::Compress or Apache::GzipChain modules, although those offer less control to the programmer.

WARNING: as of v0.15 this module is working on Linux and MacOSX but broken on Windows (debugging help would be greatly appreciated on that platform). I've personally tested that it runs well on the following:

RedHat_7.3 MacOSX_10.2.6 perl 5.6.0 ok (Apple's perl) perl 5.6.1 ok perl 5.8.0 ok mod_perl 5.6.0 ok (Apple's mod_perl and Apache 1.3.27) mod_perl 5.6.1 ok (Apache 1.3.27)

KNOWN ISSUES

* This module fails tests specifically under Windows in ways I do not understand, as reported by CPANPLUS testers. There is some problem with my IO::Zlib tests. If anyone knows about IO::Zlib failures or caveats on Windows, please let me know. It *might* be related to binmode, but I have not tested this theory.

* This module has been observed to fail on Solaris. The error is very strange and may be Compress::Zlib's fault. In a nutshell, Compress::Zlib gets into infinite recursion in its AUTOLOAD function. I don't think it's this module's fault

* Under Apache::Registry, global variables may not go out of scope in time. This may causes timing bugs, since this module makes use of the DESTROY() method. To avoid this issue, make sure your CGI object is stored in a scoped variable.

--- BROKEN CODE --- use CGI::Compress::Gzip; $q = CGI::Compress::Gzip->new; print $q->header; print "Hello, world\n";

--- WORKAROUND CODE --- use CGI::Compress::Gzip; do { my $q = CGI::Compress::Gzip->new; print $q->header; print "Hello, world\n"; }

License | Files | Date
Perl | CGI-Compress-Gzip-0.22.tgz (MD5) CGI-Compress-Gzip-0.22.zip (MD5) CGI-Compress-Gzip-0.22-docs | Tue Nov 7 21:40:22 2006
Perl | CGI-Compress-Gzip-0.21.tgz (MD5) CGI-Compress-Gzip-0.21.zip (MD5) CGI-Compress-Gzip-0.21-docs CGI-Compress-Gzip-0.21-docs.tgz (MD5) | Tue Oct 4 16:01:44 2005
Perl | CGI-Compress-Gzip-0.20.tgz (MD5) CGI-Compress-Gzip-0.20.zip (MD5) CGI-Compress-Gzip-0.20-docs | Fri Apr 22 22:52:50 2005
GPL | CGI-Compress-Gzip-0.19.tgz (MD5) CGI-Compress-Gzip-0.19.zip (MD5) CGI-Compress-Gzip-0.19-docs | Tue Dec 21 12:29:19 2004
Clotho | CGI-Compress-Gzip-0.19.tgz (MD5) CGI-Compress-Gzip-0.19.zip (MD5) CGI-Compress-Gzip-0.19-docs | Tue Dec 21 12:29:19 2004
GPL | CGI-Compress-Gzip-0.18.tgz (MD5) CGI-Compress-Gzip-0.18.zip (MD5) CGI-Compress-Gzip-0.18-docs | Tue Nov 30 20:55:41 2004
Clotho | CGI-Compress-Gzip-0.18.tgz (MD5) CGI-Compress-Gzip-0.18.zip (MD5) CGI-Compress-Gzip-0.18-docs | Tue Nov 30 20:55:41 2004
GPL | CGI-Compress-Gzip-0.17.tgz (MD5) CGI-Compress-Gzip-0.17.zip (MD5) CGI-Compress-Gzip-0.17-docs | Thu Jan 8 13:25:58 2004
Clotho | CGI-Compress-Gzip-0.17.tgz (MD5) CGI-Compress-Gzip-0.17.zip (MD5) CGI-Compress-Gzip-0.17-docs | Thu Jan 8 13:25:58 2004
GPL | CGI-Compress-Gzip-0.16.tgz (MD5) CGI-Compress-Gzip-0.16.zip (MD5) CGI-Compress-Gzip-0.16-docs | Fri Jan 2 15:14:41 2004
Clotho | CGI-Compress-Gzip-0.16.tgz (MD5) CGI-Compress-Gzip-0.16.zip (MD5) CGI-Compress-Gzip-0.16-docs | Fri Jan 2 15:14:41 2004
GPL | CGI-Compress-Gzip-0.15.tgz (MD5) CGI-Compress-Gzip-0.15.zip (MD5) CGI-Compress-Gzip-0.15-docs | Tue Dec 30 13:56:11 2003
Clotho | CGI-Compress-Gzip-0.15.tgz (MD5) CGI-Compress-Gzip-0.15.zip (MD5) CGI-Compress-Gzip-0.15-docs | Tue Dec 30 13:56:11 2003
GPL | CGI-Compress-Gzip-0.14.tgz (MD5) CGI-Compress-Gzip-0.14.zip (MD5) CGI-Compress-Gzip-0.14.html | Tue Sep 16 12:51:53 2003
Clotho | CGI-Compress-Gzip-0.14.tgz (MD5) CGI-Compress-Gzip-0.14.zip (MD5) CGI-Compress-Gzip-0.14.html | Tue Sep 16 12:51:53 2003

Perl License

This software is released by Clotho Advanced Media, Inc. under the same terms as Perl itself. That means that it is dual-licensed under the Artistic license and the GPL, and that you can redistribute it and/or modify it under the terms of either or both of those licenses. Copies of this license are available from Clotho or view the LICENSE file directly.

GPL License

Releases of this software are available under the General Public License, v2. Copies of this license are available from Clotho and GNU.

Clotho License

Releases of this software are available under commercial license directly from Clotho. Please contact us at info@clotho.com to purchase a license.