my $buffer; my $gz = gzopen ("$input_dir/$file", 'rb') || die "Can't open gz $file\n"; while ($gz -> gzread ($buffer) > 0) { syswrite DATAFILE, $buffer, 4096; } $gz -> gzclose; close DATAFILE;