The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Compress::LZW::Compressor - Scaling LZW compressor class

VERSION

version 0.02

SYNOPSIS

 use Compress::LZW::Compressor;
  
 my $c   = Compress::LZW::Compressor->new();
 my $lzw = $c->compress( $some_data );

ATTRIBUTES

block_mode Default: 1

Block mode is a feature added to LZW by compress(1). Once the maximum code size has been reached, if the compression ratio falls (NYI) the code table and code size can be reset, and a code indicating this reset is embedded in the output stream.

lsb_first Default: Dectected through Config.pm / byteorder

True if bit 0 is the least significant in this environment. Not well-tested, but intended to change some internal behavior to match compress(1) output on MSB-zero platforms.

max_code_size Default: 16

Maximum size in bits that code output may scale up to. This value is stored in byte 3 of the compressed output so the decompressor can also stop at the same size automatically.

init_code_size Default: 9

After the first three header bytes, all output codes begin at this size. This is not stored in the resulting stream, so if you alter this from default you need to supply the same value to the decompressor, and you lose compatibility with compress(1).

METHODS

compress ( $input )

Compresses $input with the current settings and returns the result.

reset ()

Resets the compressor state for another round of compression. Automatically called at the beginning of ->compress.

Resets: Code table, next code number, code size, output buffer, buffer position

AUTHOR

Meredith Howard <mhoward@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Meredith Howard.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.