#!/usr/local/bin/perl

use Compress::Zlib ;

$x = inflateInit()
   or die "Cannot create a inflation stream\n" ;

$input = '' ;
binmode STDIN;
binmode STDOUT;

while (read(STDIN, $input, 4096))
{
    ($output, $status) = $x->inflate(\$input) ;

    print $output 
        if $status == Z_OK or $status == Z_STREAM_END ;

    last if $status != Z_OK ;
}

die "inflation failed\n"
    unless $status == Z_STREAM_END ;

