NAME
Compress::Zlib::FAQ -- Frequently Asked Questions about Compress::Zlib
DESCRIPTION
Common questions answered.
Compatibility with Unix compress/uncompress.
Although Compress::Zlib
has a pair of functions called compress
and uncompress
, they are not the same as the Unix programs of the same name. The Compress::Zlib
module is not compatible with Unix compress
.
If you have the uncompress
program available, you can use this to read compressed files
open F, "uncompress -c $filename |";
while (<F>)
{
...
Alternatively, if you have the gunzip
program available, you can use this to read compressed files
open F, "gunzip -c $filename |";
while (<F>)
{
...
and this to write compress files, if you have the compress
program available
open F, "| compress -c $filename ";
print F "data";
...
close F ;
Accessing .tar.Z files
The Archive::Tar
module can optionally use Compress::Zlib
(via the IO::Zlib
module) to access tar files that have been compressed with gzip
. Unfortunately tar files compressed with the Unix compress
utility cannot be read by Compress::Zlib
and so cannot be directly accesses by Archive::Tar
.
If the uncompress
or gunzip
programs are available, you can use one of these workarounds to read .tar.Z
files from Archive::Tar
Firstly with uncompress
use strict;
use warnings;
use Archive::Tar;
open F, "uncompress -c $filename |";
my $tar = Archive::Tar->new(*F);
...
and this with gunzip
use strict;
use warnings;
use Archive::Tar;
open F, "gunzip -c $filename |";
my $tar = Archive::Tar->new(*F);
...
Similarly, if the compress
program is available, you can use this to write a .tar.Z
file
use strict;
use warnings;
use Archive::Tar;
use IO::File;
my $fh = new IO::File "| compress -c >$filename";
my $tar = Archive::Tar->new();
...
$tar->write($fh);
$fh->close ;
Accessing Zip Files
This module does not support reading/writing zip files.
Limited support for reading/writing zip files is included with the IO::Compress::Zip
and IO::Uncompress::Unzip
modules.
A full interface for manipulating zip files is available with the Archive::Zip
module. You can find it on CPAN at
http://www.cpan.org/modules/by-module/Archive/Archive-Zip-*.tar.gz
SEE ALSO
Compress::Zlib, IO::Compress::Gzip, IO::Uncompress::Gunzip, IO::Compress::Deflate, IO::Uncompress::Inflate, IO::Compress::RawDeflate, IO::Uncompress::RawInflate, IO::Compress::Bzip2, IO::Uncompress::Bunzip2, IO::Compress::Lzop, IO::Uncompress::UnLzop, IO::Compress::Lzf, IO::Uncompress::UnLzf, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress
File::GlobMapper, Archive::Zip, Archive::Tar, IO::Zlib
AUTHOR
This module was written by Paul Marquess, pmqs@cpan.org.
MODIFICATION HISTORY
See the Changes file.
COPYRIGHT AND LICENSE
Copyright (c) 2005-2007 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.