use File::Tail; $SIG{'INT'} = 'INT_handler'; sub INT_handler { open(FILE,"/tmp/filename") || die "Cannot open file:$!"; $cur_filename=; close(FILE); print("Don't Interrupt!\n"); chomp($cur_filename); $file=File::Tail->new(name=>$cur_filename, maxinterval=>3, adjustafter=>2,tail=>-1); } $cur_filename=$ARGV[0]; $file=File::Tail->new(name=>$cur_filename, maxinterval=>3, adjustafter=>2,tail=>-1); while (defined($line=$file->read)) { print $line; }