#!/usr/bin/perl
#
#
use strict ;
use warnings ;
use Compress::Zlib ;
my $x = inflateInit()
or die "Cannot create a inflation stream\n" ;
my $input = '' ;
die "$0 <filename.enc.z>" if !defined $ARGV[0] || ! -f $ARGV[0];
open(F,"<$ARGV[0]") || die "open error\n";
binmode STDOUT;
my ($output, $status) ;
$input = <F>;
chomp($input);
die "invalid format\n" if $input !~ /^====([0-9]+)\.([0-9]+)-C$/;
print "Header $input\n";

binmode F;

while (read(F, $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 ;
