package Filter::Decompress ; use Filter::Util::Call ; use Compress::Zlib ; use Carp ; use strict ; use warnings ; my $VERSION = '1.01' ; sub filter { my ($self) = @_ ; my ($status) ; my ($inf) = $$self ; if (($status = filter_read()) >0) { ($_, $err) = $inf->inflate($_) ; return -1 unless $err == Z_OK or $err == Z_STREAM_END ; } $status ; } sub import { my ($self) = @_ ; # Initialise an inflation stream. my $x = inflateInit() or croak "Internal Error" ; filter_add(\$x) ; } 1 ; __END__