#!/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 ;