IO-Compress  2.101
About: IO-Compress is a Perl interface to the zlib compression library (contains Compress-Zlib, IO-Compress-Zlib, IO-Compress-Bzip2, IO-Compress-Base).
  Fossies Dox: IO-Compress-2.101.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

IO-Compress Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies IO-Compress-2.101.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).

                       Version 2.101

                      20 Feburary 2021

    Copyright (c) 1995-2021 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.


This distribution provides a Perl interface to allow reading and writing of compressed data created with the zlib and bzip2.

IO-Compress supports reading and writing of the following compressed data formats

  • bzip2
  • RFC 1950
  • RFC 1951
  • RFC 1952 (i.e. gzip)
  • zip

There are a number of companion modules for IO-Compress that extend the suite of compression formats available.

  • IO-Compress-Zstd Adds support for zstd (Zstandard).
  • IO-Compress-Lzma Adds support for lzma, xz and lzip.
  • IO-Compress-Lzf Adds support for lzf.
  • IO-Compress-Lzop Adds support for lzop.

Note that the following modules used to be distributed separately, but are now included with the IO-Compress distribution.



Before you can build IO-Compress you need to have the following installed on your system:

* Perl 5.006 or better.
* Compress::Raw::Zlib
* Compress::Raw::Bzip2


Assuming you have met all the prerequisites, the module can now be built using this sequence of commands:

perl Makefile.PL
make test


To install IO-Compress, run the command below:

make install



General feedback/questions/bug reports should be sent to (preferred) or


How to report a problem with IO-Compress.

To help me help you, I need all of the following information:

  1. The Versions of everything relevant. This includes:

    a. The complete output from running this

        perl -V
    Do not edit the output in any way.
    Note, I want you to run "perl -V" and NOT "perl -v".
    If your perl does not understand the "-V" option it is too
    old. This module needs Perl version 5.004 or better.

    b. The version of IO-Compress you have. If you have successfully installed IO-Compress, this one-liner will tell you:

       perl -MIO::Compress::Gzip -e 'print qq[ver $IO::Compress::Gzip::VERSION\n]'
    If you are  running windows use this
       perl -MIO::Compress::Gzip -e "print qq[ver $IO::Compress::Gzip::VERSION\n]"
    If you haven't installed IO-Compress then search
    for a line like this:
      $VERSION = "2.101" ;
  2. If you are having problems building IO-Compress, send me a complete log of what happened. Start by unpacking the IO-Compress module into a fresh directory and keep a log of all the steps

    [edit, if necessary]
    perl Makefile.PL
    make test TEST_VERBOSE=1

Paul Marquess