#!/usr/local/bin/perl

use Compress::Raw::Zlib ;

use strict ;
use warnings ;

binmode STDIN;
binmode STDOUT;

my $x = new Compress::Raw::Zlib::Inflate
   or die "Cannot create a inflation stream\n" ;

my $input = '' ;
my $output = '' ;
my $status ;

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

    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 ;