#! perl -slw use strict; my $logname = 'theLog'; while( 1 ) { open LOG, '>', $logname or die $!; for( 1 .. 1000 ) { print LOG "Line $_ of the log with some superfluous extra text as filler"; } close LOG; my $n = 0; $n++ while -e "$logname.$n"; rename $logname, "$logname.$n"; } #### #! perl -sw use strict; my $pid = open LOG, "tail -F theLog |" or die $!; $SIG{ INT } = sub{ close LOG; kill 3, $pid; exit; }; $SIG{ BREAK } = $SIG{ INT }; while( ) { print; }