use File::Tail; tie *LOG, 'File::Tail', (name => $logfile, tail => -1) or die("log open error: $!"); while (my $line = ) { if ($line eq $error) { print $redbutton; } # etc } close (LOG) or die("log close error: $!");