use IO::Uncompress::AnyUncompress qw(anyuncompress) my $input = `cat testfile.gz`; my $output; anyuncompress $input => \$output, { 'InputLength' => 1000 }; print $output;