my $logfile = 'c:/test.txt'; my $tmpfile = 'c:/tmp.txt'; my $maxsize = 100; my $size = -s $logfile; my $need_to_dump = $size - $maxsize; if ($need_to_dump > 0 ) { open LOG, $logfile or die $!; open TMP, ">$tmpfile" or die $!; seek LOG, $need_to_dump, 0; print TMP $_ while ; close LOG; close TMP; unlink $logfile or die $!; rename $tmpfile, $logfile or die $!; unlink $tmpfile or warn "Can't unlink $tmpfile $!\n"; }