#!/usr/bin/perl -w use warnings; use strict; use constant SIZEOF_100MB => 104857600; $| = 1; my $filename = 'debugfile'; while (<>) { open LOGFILE, ">>$filename" || die "Unable to open '$filename': $!"; print LOGFILE $_; close LOGFILE; my @stats = stat($filename); my $bsize = $stats[7]; if ( $bsize > SIZEOF_100MB ) { my @localtime = split / +|:/, localtime(); shift @localtime; pop @localtime; my $new = "${filename}_" . join '_', @localtime; rename $filename, $new; system("gzip $new"); } } 1;