Move Compress::Raw::Zlib from ext/ to cpan/
[perl.git] / cpan / Compress-Raw-Zlib / pod / FAQ.pod
1
2 =head1 NAME
3
4 Compress::Raw::Zlib::FAQ -- Frequently Asked Questions about Compress::Raw::Zlib
5
6 =head1 DESCRIPTION
7
8 Common questions answered.
9
10 =head2 Compatibility with Unix compress/uncompress.
11
12 This module is not compatible with Unix C<compress>.
13
14 If you have the C<uncompress> program available, you can use this to read
15 compressed files
16
17     open F, "uncompress -c $filename |";
18     while (<F>)
19     {
20         ...
21
22 Alternatively, if you have the C<gunzip> program available, you can use
23 this to read compressed files
24
25     open F, "gunzip -c $filename |";
26     while (<F>)
27     {
28         ...
29
30 and this to write compress files, if you have the C<compress> program
31 available
32
33     open F, "| compress -c $filename ";
34     print F "data";
35     ...
36     close F ;
37
38 =head2 Accessing .tar.Z files
39
40 See previous FAQ item.
41
42 If the C<Archive::Tar> module is installed and either the C<uncompress> or
43 C<gunzip> programs are available, you can use one of these workarounds to
44 read C<.tar.Z> files.
45
46 Firstly with C<uncompress>
47
48     use strict;
49     use warnings;
50     use Archive::Tar;
51
52     open F, "uncompress -c $filename |";
53     my $tar = Archive::Tar->new(*F);
54     ...
55
56 and this with C<gunzip>
57
58     use strict;
59     use warnings;
60     use Archive::Tar;
61
62     open F, "gunzip -c $filename |";
63     my $tar = Archive::Tar->new(*F);
64     ...
65
66 Similarly, if the C<compress> program is available, you can use this to
67 write a C<.tar.Z> file
68
69     use strict;
70     use warnings;
71     use Archive::Tar;
72     use IO::File;
73
74     my $fh = new IO::File "| compress -c >$filename";
75     my $tar = Archive::Tar->new();
76     ...
77     $tar->write($fh);
78     $fh->close ;
79
80 =head2 Accessing Zip Files
81
82 This module does not support reading/writing zip files.
83
84 Support for reading/writing zip files is included with the
85 C<IO::Compress::Zip> and C<IO::Uncompress::Unzip> modules.
86
87 The primary focus of the C<IO::Compress::Zip> and C<IO::Uncompress::Unzip>
88 modules is to provide an C<IO::File> compatible streaming read/write
89 interface to zip files/buffers. They are not fully flegged archivers. If
90 you are looking for an archiver check out the C<Archive::Zip> module. You
91 can find it on CPAN at 
92
93     http://www.cpan.org/modules/by-module/Archive/Archive-Zip-*.tar.gz    
94
95 =head2 Zlib Library Version Support
96
97 By default C<Compress::Raw::Zlib> will build with a private copy of version
98 1.2.3 of the zlib library. (See the F<README> file for details of
99 how to override this behaviour)
100
101 If you decide to use a different version of the zlib library, you need to be
102 aware of the following issues
103
104 =over 5
105
106 =item *
107
108 First off, you must have zlib 1.0.5 or better.
109
110 =item *
111
112 You need to have zlib 1.2.1 or better if you want to use the C<-Merge>
113 option with C<IO::Compress::Gzip>, C<IO::Compress::Deflate> and
114 C<IO::Compress::RawDeflate>.
115
116 =back
117
118 =head1 SEE ALSO
119
120 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
121
122 L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
123
124 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
125 L<Archive::Tar|Archive::Tar>,
126 L<IO::Zlib|IO::Zlib>
127
128 =head1 AUTHOR
129
130 This module was written by Paul Marquess, F<pmqs@cpan.org>. 
131
132 =head1 MODIFICATION HISTORY
133
134 See the Changes file.
135
136 =head1 COPYRIGHT AND LICENSE
137
138 Copyright (c) 2005-2009 Paul Marquess. All rights reserved.
139
140 This program is free software; you can redistribute it and/or
141 modify it under the same terms as Perl itself.
142