1IO::Compress::Zip(3pm) Perl Programmers Reference Guide IO::Compress::Zip(3pm)
2
3
4

NAME

6       IO::Compress::Zip - Write zip files/buffers
7

SYNOPSIS

9           use IO::Compress::Zip qw(zip $ZipError) ;
10
11           my $status = zip $input => $output [,OPTS]
12               or die "zip failed: $ZipError\n";
13
14           my $z = new IO::Compress::Zip $output [,OPTS]
15               or die "zip failed: $ZipError\n";
16
17           $z->print($string);
18           $z->printf($format, $string);
19           $z->write($string);
20           $z->syswrite($string [, $length, $offset]);
21           $z->flush();
22           $z->tell();
23           $z->eof();
24           $z->seek($position, $whence);
25           $z->binmode();
26           $z->fileno();
27           $z->opened();
28           $z->autoflush();
29           $z->input_line_number();
30           $z->newStream( [OPTS] );
31
32           $z->deflateParams();
33
34           $z->close() ;
35
36           $ZipError ;
37
38           # IO::File mode
39
40           print $z $string;
41           printf $z $format, $string;
42           tell $z
43           eof $z
44           seek $z, $position, $whence
45           binmode $z
46           fileno $z
47           close $z ;
48

DESCRIPTION

50       This module provides a Perl interface that allows writing zip
51       compressed data to files or buffer.
52
53       The primary purpose of this module is to provide streaming write access
54       to zip files and buffers. It is not a general-purpose file archiver. If
55       that is what you want, check out "Archive::Zip".
56
57       At present three compression methods are supported by
58       IO::Compress::Zip, namely Store (no compression at all), Deflate and
59       Bzip2.
60
61       Note that to create Bzip2 content, the module "IO::Compress::Bzip2"
62       must be installed.
63
64       For reading zip files/buffers, see the companion module
65       IO::Uncompress::Unzip.
66

Functional Interface

68       A top-level function, "zip", is provided to carry out "one-shot"
69       compression between buffers and/or files. For finer control over the
70       compression process, see the "OO Interface" section.
71
72           use IO::Compress::Zip qw(zip $ZipError) ;
73
74           zip $input => $output [,OPTS]
75               or die "zip failed: $ZipError\n";
76
77       The functional interface needs Perl5.005 or better.
78
79   zip $input => $output [, OPTS]
80       "zip" expects at least two parameters, $input and $output.
81
82       The $input parameter
83
84       The parameter, $input, is used to define the source of the uncompressed
85       data.
86
87       It can take one of the following forms:
88
89       A filename
90            If the $input parameter is a simple scalar, it is assumed to be a
91            filename. This file will be opened for reading and the input data
92            will be read from it.
93
94       A filehandle
95            If the $input parameter is a filehandle, the input data will be
96            read from it.  The string '-' can be used as an alias for standard
97            input.
98
99       A scalar reference
100            If $input is a scalar reference, the input data will be read from
101            $$input.
102
103       An array reference
104            If $input is an array reference, each element in the array must be
105            a filename.
106
107            The input data will be read from each file in turn.
108
109            The complete array will be walked to ensure that it only contains
110            valid filenames before any data is compressed.
111
112       An Input FileGlob string
113            If $input is a string that is delimited by the characters "<" and
114            ">" "zip" will assume that it is an input fileglob string. The
115            input is the list of files that match the fileglob.
116
117            If the fileglob does not match any files ...
118
119            See File::GlobMapper for more details.
120
121       If the $input parameter is any other type, "undef" will be returned.
122
123       In addition, if $input is a simple filename, the default values for the
124       "Name", "Time", "ExtAttr" and "exTime" options will be sourced from
125       that file.
126
127       If you do not want to use these defaults they can be overridden by
128       explicitly setting the "Name", "Time", "ExtAttr" and "exTime" options
129       or by setting the "Minimal" parameter.
130
131       The $output parameter
132
133       The parameter $output is used to control the destination of the
134       compressed data. This parameter can take one of these forms.
135
136       A filename
137            If the $output parameter is a simple scalar, it is assumed to be a
138            filename.  This file will be opened for writing and the compressed
139            data will be written to it.
140
141       A filehandle
142            If the $output parameter is a filehandle, the compressed data will
143            be written to it.  The string '-' can be used as an alias for
144            standard output.
145
146       A scalar reference
147            If $output is a scalar reference, the compressed data will be
148            stored in $$output.
149
150       An Array Reference
151            If $output is an array reference, the compressed data will be
152            pushed onto the array.
153
154       An Output FileGlob
155            If $output is a string that is delimited by the characters "<" and
156            ">" "zip" will assume that it is an output fileglob string. The
157            output is the list of files that match the fileglob.
158
159            When $output is an fileglob string, $input must also be a fileglob
160            string. Anything else is an error.
161
162       If the $output parameter is any other type, "undef" will be returned.
163
164   Notes
165       When $input maps to multiple files/buffers and $output is a single
166       file/buffer the input files/buffers will each be stored in $output as a
167       distinct entry.
168
169   Optional Parameters
170       Unless specified below, the optional parameters for "zip", "OPTS", are
171       the same as those used with the OO interface defined in the
172       "Constructor Options" section below.
173
174       "AutoClose => 0|1"
175            This option applies to any input or output data streams to "zip"
176            that are filehandles.
177
178            If "AutoClose" is specified, and the value is true, it will result
179            in all input and/or output filehandles being closed once "zip" has
180            completed.
181
182            This parameter defaults to 0.
183
184       "BinModeIn => 0|1"
185            When reading from a file or filehandle, set "binmode" before
186            reading.
187
188            Defaults to 0.
189
190       "Append => 0|1"
191            The behaviour of this option is dependent on the type of output
192            data stream.
193
194            ·    A Buffer
195
196                 If "Append" is enabled, all compressed data will be append to
197                 the end of the output buffer. Otherwise the output buffer
198                 will be cleared before any compressed data is written to it.
199
200            ·    A Filename
201
202                 If "Append" is enabled, the file will be opened in append
203                 mode. Otherwise the contents of the file, if any, will be
204                 truncated before any compressed data is written to it.
205
206            ·    A Filehandle
207
208                 If "Append" is enabled, the filehandle will be positioned to
209                 the end of the file via a call to "seek" before any
210                 compressed data is written to it.  Otherwise the file pointer
211                 will not be moved.
212
213            When "Append" is specified, and set to true, it will append all
214            compressed data to the output data stream.
215
216            So when the output is a filehandle it will carry out a seek to the
217            eof before writing any compressed data. If the output is a
218            filename, it will be opened for appending. If the output is a
219            buffer, all compressed data will be appened to the existing
220            buffer.
221
222            Conversely when "Append" is not specified, or it is present and is
223            set to false, it will operate as follows.
224
225            When the output is a filename, it will truncate the contents of
226            the file before writing any compressed data. If the output is a
227            filehandle its position will not be changed. If the output is a
228            buffer, it will be wiped before any compressed data is output.
229
230            Defaults to 0.
231
232   Examples
233       To read the contents of the file "file1.txt" and write the compressed
234       data to the file "file1.txt.zip".
235
236           use strict ;
237           use warnings ;
238           use IO::Compress::Zip qw(zip $ZipError) ;
239
240           my $input = "file1.txt";
241           zip $input => "$input.zip"
242               or die "zip failed: $ZipError\n";
243
244       To read from an existing Perl filehandle, $input, and write the
245       compressed data to a buffer, $buffer.
246
247           use strict ;
248           use warnings ;
249           use IO::Compress::Zip qw(zip $ZipError) ;
250           use IO::File ;
251
252           my $input = new IO::File "<file1.txt"
253               or die "Cannot open 'file1.txt': $!\n" ;
254           my $buffer ;
255           zip $input => \$buffer
256               or die "zip failed: $ZipError\n";
257
258       To compress all files in the directory "/my/home" that match "*.txt"
259       and store the compressed data in the same directory
260
261           use strict ;
262           use warnings ;
263           use IO::Compress::Zip qw(zip $ZipError) ;
264
265           zip '</my/home/*.txt>' => '<*.zip>'
266               or die "zip failed: $ZipError\n";
267
268       and if you want to compress each file one at a time, this will do the
269       trick
270
271           use strict ;
272           use warnings ;
273           use IO::Compress::Zip qw(zip $ZipError) ;
274
275           for my $input ( glob "/my/home/*.txt" )
276           {
277               my $output = "$input.zip" ;
278               zip $input => $output
279                   or die "Error compressing '$input': $ZipError\n";
280           }
281

OO Interface

283   Constructor
284       The format of the constructor for "IO::Compress::Zip" is shown below
285
286           my $z = new IO::Compress::Zip $output [,OPTS]
287               or die "IO::Compress::Zip failed: $ZipError\n";
288
289       It returns an "IO::Compress::Zip" object on success and undef on
290       failure.  The variable $ZipError will contain an error message on
291       failure.
292
293       If you are running Perl 5.005 or better the object, $z, returned from
294       IO::Compress::Zip can be used exactly like an IO::File filehandle.
295       This means that all normal output file operations can be carried out
296       with $z.  For example, to write to a compressed file/buffer you can use
297       either of these forms
298
299           $z->print("hello world\n");
300           print $z "hello world\n";
301
302       The mandatory parameter $output is used to control the destination of
303       the compressed data. This parameter can take one of these forms.
304
305       A filename
306            If the $output parameter is a simple scalar, it is assumed to be a
307            filename. This file will be opened for writing and the compressed
308            data will be written to it.
309
310       A filehandle
311            If the $output parameter is a filehandle, the compressed data will
312            be written to it.  The string '-' can be used as an alias for
313            standard output.
314
315       A scalar reference
316            If $output is a scalar reference, the compressed data will be
317            stored in $$output.
318
319       If the $output parameter is any other type, "IO::Compress::Zip"::new
320       will return undef.
321
322   Constructor Options
323       "OPTS" is any combination of the following options:
324
325       "AutoClose => 0|1"
326            This option is only valid when the $output parameter is a
327            filehandle. If specified, and the value is true, it will result in
328            the $output being closed once either the "close" method is called
329            or the "IO::Compress::Zip" object is destroyed.
330
331            This parameter defaults to 0.
332
333       "Append => 0|1"
334            Opens $output in append mode.
335
336            The behaviour of this option is dependent on the type of $output.
337
338            ·    A Buffer
339
340                 If $output is a buffer and "Append" is enabled, all
341                 compressed data will be append to the end of $output.
342                 Otherwise $output will be cleared before any data is written
343                 to it.
344
345            ·    A Filename
346
347                 If $output is a filename and "Append" is enabled, the file
348                 will be opened in append mode. Otherwise the contents of the
349                 file, if any, will be truncated before any compressed data is
350                 written to it.
351
352            ·    A Filehandle
353
354                 If $output is a filehandle, the file pointer will be
355                 positioned to the end of the file via a call to "seek" before
356                 any compressed data is written to it.  Otherwise the file
357                 pointer will not be moved.
358
359            This parameter defaults to 0.
360
361       "Name => $string"
362            Stores the contents of $string in the zip filename header field.
363            If "Name" is not specified, no zip filename field will be created.
364
365       "Time => $number"
366            Sets the last modified time field in the zip header to $number.
367
368            This field defaults to the time the "IO::Compress::Zip" object was
369            created if this option is not specified.
370
371       "ExtAttr => $attr"
372            This option controls the "external file attributes" field in the
373            central header of the zip file. This is a 4 byte field.
374
375            If you are running a Unix derivative this value defaults to
376
377                0666 << 16
378
379            This should allow read/write access to any files that are
380            extracted from the zip file/buffer.
381
382            For all other systems it defaults to 0.
383
384       "exTime => [$atime, $mtime, $ctime]"
385            This option expects an array reference with exactly three
386            elements: $atime, "mtime" and $ctime. These correspond to the last
387            access time, last modification time and creation time
388            respectively.
389
390            It uses these values to set the extended timestamp field (ID is
391            "UT") in the local zip header using the three values, $atime,
392            $mtime, $ctime. In addition it sets the extended timestamp field
393            in the central zip header using $mtime.
394
395            If any of the three values is "undef" that time value will not be
396            used.  So, for example, to set only the $mtime you would use this
397
398                exTime => [undef, $mtime, undef]
399
400            If the "Minimal" option is set to true, this option will be
401            ignored.
402
403            By default no extended time field is created.
404
405       "exUnix2 => [$uid, $gid]"
406            This option expects an array reference with exactly two elements:
407            $uid and $gid. These values correspond to the numeric user ID and
408            group ID of the owner of the files respectively.
409
410            When the "exUnix2" option is present it will trigger the creation
411            of a Unix2 extra field (ID is "Ux") in the local zip. This will be
412            populated with $uid and $gid. In addition an empty Unix2 extra
413            field will also be created in the central zip header
414
415            If the "Minimal" option is set to true, this option will be
416            ignored.
417
418            By default no Unix2 extra field is created.
419
420       "Comment => $comment"
421            Stores the contents of $comment in the Central File Header of the
422            zip file.
423
424            By default, no comment field is written to the zip file.
425
426       "ZipComment => $comment"
427            Stores the contents of $comment in the End of Central Directory
428            record of the zip file.
429
430            By default, no comment field is written to the zip file.
431
432       "Method => $method"
433            Controls which compression method is used. At present three
434            compression methods are supported, namely Store (no compression at
435            all), Deflate and Bzip2.
436
437            The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 are
438            used to select the compression method.
439
440            These constants are not imported by "IO::Compress::Zip" by
441            default.
442
443                use IO::Compress::Zip qw(:zip_method);
444                use IO::Compress::Zip qw(:constants);
445                use IO::Compress::Zip qw(:all);
446
447            Note that to create Bzip2 content, the module
448            "IO::Compress::Bzip2" must be installed. A fatal error will be
449            thrown if you attempt to create Bzip2 content when
450            "IO::Compress::Bzip2" is not available.
451
452            The default method is ZIP_CM_DEFLATE.
453
454       "Stream => 0|1"
455            This option controls whether the zip file/buffer output is created
456            in streaming mode.
457
458            Note that when outputting to a file with streaming mode disabled
459            ("Stream" is 0), the output file must be seekable.
460
461            The default is 1.
462
463       "Zip64 => 0|1"
464            Create a Zip64 zip file/buffer. This option should only be used if
465            you want to store files larger than 4 Gig.
466
467            If you intend to manipulate the Zip64 zip files created with this
468            module using an external zip/unzip make sure that it supports
469            Zip64.
470
471            In particular, if you are using Info-Zip you need to have zip
472            version 3.x or better to update a Zip64 archive and unzip version
473            6.x to read a zip64 archive.
474
475            The default is 0.
476
477       "TextFlag => 0|1"
478            This parameter controls the setting of a bit in the zip central
479            header. It is used to signal that the data stored in the zip
480            file/buffer is probably text.
481
482            The default is 0.
483
484       "ExtraFieldLocal => $data" =item "ExtraFieldCentral => $data"
485            The "ExtraFieldLocal" option is used to store additional metadata
486            in the local header for the zip file/buffer. The
487            "ExtraFieldCentral" does the same for the matching central header.
488
489            An extra field consists of zero or more subfields. Each subfield
490            consists of a two byte header followed by the subfield data.
491
492            The list of subfields can be supplied in any of the following
493            formats
494
495                ExtraFieldLocal => [$id1, $data1,
496                                    $id2, $data2,
497                                     ...
498                                   ]
499
500                ExtraFieldLocal => [ [$id1 => $data1],
501                                     [$id2 => $data2],
502                                     ...
503                                   ]
504
505                ExtraFieldLocal => { $id1 => $data1,
506                                     $id2 => $data2,
507                                     ...
508                                   }
509
510            Where $id1, $id2 are two byte subfield ID's.
511
512            If you use the hash syntax, you have no control over the order in
513            which the ExtraSubFields are stored, plus you cannot have
514            SubFields with duplicate ID.
515
516            Alternatively the list of subfields can by supplied as a scalar,
517            thus
518
519                ExtraField => $rawdata
520
521            The Extended Time field (ID "UT"), set using the "exTime" option,
522            and the Unix2 extra field (ID "Ux), set using the "exUnix2"
523            option, are examples of extra fields.
524
525            If the "Minimal" option is set to true, this option will be
526            ignored.
527
528            The maximum size of an extra field 65535 bytes.
529
530       "Minimal => 1|0"
531            If specified, this option will disable the creation of all extra
532            fields in the zip local and central headers. So the "exTime",
533            "exUnix2", "ExtraFieldLocal" and "ExtraFieldCentral" options will
534            be ignored.
535
536            This parameter defaults to 0.
537
538       "BlockSize100K => number"
539            Specify the number of 100K blocks bzip2 uses during compression.
540
541            Valid values are from 1 to 9, where 9 is best compression.
542
543            This option is only valid if the "Method" is ZIP_CM_BZIP2. It is
544            ignored otherwise.
545
546            The default is 1.
547
548       "WorkFactor => number"
549            Specifies how much effort bzip2 should take before resorting to a
550            slower fallback compression algorithm.
551
552            Valid values range from 0 to 250, where 0 means use the default
553            value 30.
554
555            This option is only valid if the "Method" is ZIP_CM_BZIP2. It is
556            ignored otherwise.
557
558            The default is 0.
559
560       -Level
561            Defines the compression level used by zlib. The value should
562            either be a number between 0 and 9 (0 means no compression and 9
563            is maximum compression), or one of the symbolic constants defined
564            below.
565
566               Z_NO_COMPRESSION
567               Z_BEST_SPEED
568               Z_BEST_COMPRESSION
569               Z_DEFAULT_COMPRESSION
570
571            The default is Z_DEFAULT_COMPRESSION.
572
573            Note, these constants are not imported by "IO::Compress::Zip" by
574            default.
575
576                use IO::Compress::Zip qw(:strategy);
577                use IO::Compress::Zip qw(:constants);
578                use IO::Compress::Zip qw(:all);
579
580       -Strategy
581            Defines the strategy used to tune the compression. Use one of the
582            symbolic constants defined below.
583
584               Z_FILTERED
585               Z_HUFFMAN_ONLY
586               Z_RLE
587               Z_FIXED
588               Z_DEFAULT_STRATEGY
589
590            The default is Z_DEFAULT_STRATEGY.
591
592       "Strict => 0|1"
593            This is a placeholder option.
594
595   Examples
596       TODO
597

Methods

599   print
600       Usage is
601
602           $z->print($data)
603           print $z $data
604
605       Compresses and outputs the contents of the $data parameter. This has
606       the same behaviour as the "print" built-in.
607
608       Returns true if successful.
609
610   printf
611       Usage is
612
613           $z->printf($format, $data)
614           printf $z $format, $data
615
616       Compresses and outputs the contents of the $data parameter.
617
618       Returns true if successful.
619
620   syswrite
621       Usage is
622
623           $z->syswrite $data
624           $z->syswrite $data, $length
625           $z->syswrite $data, $length, $offset
626
627       Compresses and outputs the contents of the $data parameter.
628
629       Returns the number of uncompressed bytes written, or "undef" if
630       unsuccessful.
631
632   write
633       Usage is
634
635           $z->write $data
636           $z->write $data, $length
637           $z->write $data, $length, $offset
638
639       Compresses and outputs the contents of the $data parameter.
640
641       Returns the number of uncompressed bytes written, or "undef" if
642       unsuccessful.
643
644   flush
645       Usage is
646
647           $z->flush;
648           $z->flush($flush_type);
649
650       Flushes any pending compressed data to the output file/buffer.
651
652       This method takes an optional parameter, $flush_type, that controls how
653       the flushing will be carried out. By default the $flush_type used is
654       "Z_FINISH". Other valid values for $flush_type are "Z_NO_FLUSH",
655       "Z_SYNC_FLUSH", "Z_FULL_FLUSH" and "Z_BLOCK". It is strongly
656       recommended that you only set the "flush_type" parameter if you fully
657       understand the implications of what it does - overuse of "flush" can
658       seriously degrade the level of compression achieved. See the "zlib"
659       documentation for details.
660
661       Returns true on success.
662
663   tell
664       Usage is
665
666           $z->tell()
667           tell $z
668
669       Returns the uncompressed file offset.
670
671   eof
672       Usage is
673
674           $z->eof();
675           eof($z);
676
677       Returns true if the "close" method has been called.
678
679   seek
680           $z->seek($position, $whence);
681           seek($z, $position, $whence);
682
683       Provides a sub-set of the "seek" functionality, with the restriction
684       that it is only legal to seek forward in the output file/buffer.  It is
685       a fatal error to attempt to seek backward.
686
687       Empty parts of the file/buffer will have NULL (0x00) bytes written to
688       them.
689
690       The $whence parameter takes one the usual values, namely SEEK_SET,
691       SEEK_CUR or SEEK_END.
692
693       Returns 1 on success, 0 on failure.
694
695   binmode
696       Usage is
697
698           $z->binmode
699           binmode $z ;
700
701       This is a noop provided for completeness.
702
703   opened
704           $z->opened()
705
706       Returns true if the object currently refers to a opened file/buffer.
707
708   autoflush
709           my $prev = $z->autoflush()
710           my $prev = $z->autoflush(EXPR)
711
712       If the $z object is associated with a file or a filehandle, this method
713       returns the current autoflush setting for the underlying filehandle. If
714       "EXPR" is present, and is non-zero, it will enable flushing after every
715       write/print operation.
716
717       If $z is associated with a buffer, this method has no effect and always
718       returns "undef".
719
720       Note that the special variable $| cannot be used to set or retrieve the
721       autoflush setting.
722
723   input_line_number
724           $z->input_line_number()
725           $z->input_line_number(EXPR)
726
727       This method always returns "undef" when compressing.
728
729   fileno
730           $z->fileno()
731           fileno($z)
732
733       If the $z object is associated with a file or a filehandle, "fileno"
734       will return the underlying file descriptor. Once the "close" method is
735       called "fileno" will return "undef".
736
737       If the $z object is is associated with a buffer, this method will
738       return "undef".
739
740   close
741           $z->close() ;
742           close $z ;
743
744       Flushes any pending compressed data and then closes the output
745       file/buffer.
746
747       For most versions of Perl this method will be automatically invoked if
748       the IO::Compress::Zip object is destroyed (either explicitly or by the
749       variable with the reference to the object going out of scope). The
750       exceptions are Perl versions 5.005 through 5.00504 and 5.8.0. In these
751       cases, the "close" method will be called automatically, but not until
752       global destruction of all live objects when the program is terminating.
753
754       Therefore, if you want your scripts to be able to run on all versions
755       of Perl, you should call "close" explicitly and not rely on automatic
756       closing.
757
758       Returns true on success, otherwise 0.
759
760       If the "AutoClose" option has been enabled when the IO::Compress::Zip
761       object was created, and the object is associated with a file, the
762       underlying file will also be closed.
763
764   newStream([OPTS])
765       Usage is
766
767           $z->newStream( [OPTS] )
768
769       Closes the current compressed data stream and starts a new one.
770
771       OPTS consists of any of the the options that are available when
772       creating the $z object.
773
774       See the "Constructor Options" section for more details.
775
776   deflateParams
777       Usage is
778
779           $z->deflateParams
780
781       TODO
782

Importing

784       A number of symbolic constants are required by some methods in
785       "IO::Compress::Zip". None are imported by default.
786
787       :all Imports "zip", $ZipError and all symbolic constants that can be
788            used by "IO::Compress::Zip". Same as doing this
789
790                use IO::Compress::Zip qw(zip $ZipError :constants) ;
791
792       :constants
793            Import all symbolic constants. Same as doing this
794
795                use IO::Compress::Zip qw(:flush :level :strategy :zip_method) ;
796
797       :flush
798            These symbolic constants are used by the "flush" method.
799
800                Z_NO_FLUSH
801                Z_PARTIAL_FLUSH
802                Z_SYNC_FLUSH
803                Z_FULL_FLUSH
804                Z_FINISH
805                Z_BLOCK
806
807       :level
808            These symbolic constants are used by the "Level" option in the
809            constructor.
810
811                Z_NO_COMPRESSION
812                Z_BEST_SPEED
813                Z_BEST_COMPRESSION
814                Z_DEFAULT_COMPRESSION
815
816       :strategy
817            These symbolic constants are used by the "Strategy" option in the
818            constructor.
819
820                Z_FILTERED
821                Z_HUFFMAN_ONLY
822                Z_RLE
823                Z_FIXED
824                Z_DEFAULT_STRATEGY
825
826       :zip_method
827            These symbolic constants are used by the "Method" option in the
828            constructor.
829
830                ZIP_CM_STORE
831                ZIP_CM_DEFLATE
832                ZIP_CM_BZIP2
833

EXAMPLES

835   Apache::GZip Revisited
836       See IO::Compress::FAQ
837
838   Working with Net::FTP
839       See IO::Compress::FAQ
840

SEE ALSO

842       Compress::Zlib, IO::Compress::Gzip, IO::Uncompress::Gunzip,
843       IO::Compress::Deflate, IO::Uncompress::Inflate,
844       IO::Compress::RawDeflate, IO::Uncompress::RawInflate,
845       IO::Compress::Bzip2, IO::Uncompress::Bunzip2, IO::Compress::Lzma,
846       IO::Uncompress::UnLzma, IO::Compress::Xz, IO::Uncompress::UnXz,
847       IO::Compress::Lzop, IO::Uncompress::UnLzop, IO::Compress::Lzf,
848       IO::Uncompress::UnLzf, IO::Uncompress::AnyInflate,
849       IO::Uncompress::AnyUncompress
850
851       Compress::Zlib::FAQ
852
853       File::GlobMapper, Archive::Zip, Archive::Tar, IO::Zlib
854
855       For RFC 1950, 1951 and 1952 see http://www.faqs.org/rfcs/rfc1950.html,
856       http://www.faqs.org/rfcs/rfc1951.html and
857       http://www.faqs.org/rfcs/rfc1952.html
858
859       The zlib compression library was written by Jean-loup Gailly
860       gzip@prep.ai.mit.edu and Mark Adler madler@alumni.caltech.edu.
861
862       The primary site for the zlib compression library is
863       http://www.zlib.org.
864
865       The primary site for gzip is http://www.gzip.org.
866

AUTHOR

868       This module was written by Paul Marquess, pmqs@cpan.org.
869

MODIFICATION HISTORY

871       See the Changes file.
872
874       Copyright (c) 2005-2010 Paul Marquess. All rights reserved.
875
876       This program is free software; you can redistribute it and/or modify it
877       under the same terms as Perl itself.
878
879
880
881perl v5.12.4                      2011-06-07            IO::Compress::Zip(3pm)
Impressum