#!/usr/bin/perl -w use strict; use Compress::Zlib; for my $file (@ARGV) { my $x = inflateInit() or die "Cannot create a inflation stream\n" ; my $input = ''; my ($output, $status); open(FH, "<$file") or die ("Cannot open $file: $!\n"); while (read(FH, $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 ; };