NAME

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

VERSION

version 0.04

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.

May be 0 or 1.

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. Maximum code size implies a maximum code table size of 2 ** max_code_size, which can be emptied and restarted mid-stream in "block_mode".

May be between 9 and 31, inclusive. The default of 16 is the largest supported by compress(1), but Compress::LZW can handle up to 31 bits.

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 the following internal state: 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) 2015 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.