my $log_number = 0; my $size = $MAXSIZE+1; while (<>) { if ($size > $MAXSIZE) { # This will automatically close the old log file open(LOG, ">log-" . ++$log_number) or die "open: $!"; $size = 0; } print LOG $_; $size += length($_); }