#! /usr/bin/perl -w use strict; use Compress::Zlib; my $file = shift or die "no file on command line.\n"; my( $d, $status ) = deflateInit( {-Level => Z_BEST_COMPRESSION } ); die "deflator construction failed: $status\n" unless $status == Z_OK; my $deflated; open IN, $file or die "Cannot open $file for input: $!\n"; while( ) { ($deflated, $status) = $d->deflate( $_ ); die "deflator deflate failed: $status\n" unless $status == Z_OK; print $deflated; } ($deflated, $status) = $d->flush(); die "deflator final flush failed: $status\n" unless $status == Z_OK; print $deflated; close IN;