use Compress::Raw::Zlib; sub Zip { my ($d, $status) = new Compress::Raw::Zlib::Deflate( -Level => Z_BEST_COMPRESSION ); my $result; my $status = $d->deflate(shift, $result); die "deflation failed\n" unless $status == Z_OK; $status = $d->flush($result) ; die "deflation failed\n" unless $status == Z_OK; $result; }