use Compress::Zlib; my $outlog=gzopen($fn,"a"); .... $outlog->gzwrite($line."\n"); .... $outlog->gzclose();