POE::Filter::Zlib(3p)

NAME
POE::Filter::Zlib - A POE filter wrapped around Compress::Zlib

SYNOPSIS
    use POE::Filter::Zlib;

    my $filter = POE::Filter::Zlib->new();
    my $scalar = 'Blah Blah Blah';
    my $compressed_array   = $filter->put( [ $scalar ] );
    my $uncompressed_array = $filter->get( $compressed_array );

    use POE qw(Filter::Stackable Filter::Line Filter::Zlib);

    my ($filter) = POE::Filter::Stackable->new();
    $filter->push( POE::Filter::Zlib->new(),
                   POE::Filter::Line->new( InputRegexp => '\015?\012', OutputLiteral => "\015\012" ),

DESCRIPTION
POE::Filter::Zlib provides a POE filter for performing compression/uncompression using Compress::Zlib. It is suitable for use with POE::Filter::Stackable.

This filter is not ideal for streaming compressed data over sockets etc. as it employs compress and uncompress zlib functions.

POE::Filter::Zlib::Stream is recommended for that type of activity.

CONSTRUCTOR

"new"
    Creates a new POE::Filter::Zlib object. Takes one optional argument,

      'level': the level of compression to employ.

    Consult Compress::Zlib for details.

METHODS

"get"
"get_one_start"
"get_one"
    Takes an arrayref which is contains lines of compressed input. Returns an arrayref of uncompressed lines.

"get_pending"
    Returns any data in a filter's input buffer. The filter's input buffer is not cleared, however.

"put"
    Takes an arrayref containing lines of uncompressed output, returns an arrayref of compressed lines.

"clone"
    Makes a copy of the filter, and clears the copy's buffer.

"level"
    Sets the level of compression employed to the given value. If no value is supplied, returns the current level setting.

AUTHOR
Chris Williams <chris@bingosnet.co.uk>

Martijn van Beers <martijn@cpan.org>

LICENSE
Copyright X Chris Williams and Martijn van Beers.

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

SEE ALSO
POE

POE::Filter

POE::Filter::Zlib::Stream

Compress::Zlib

POE::Filter::Stackable