LOOP: foreach $key (@keys) { $UseThisFile = $LogFileHash{$key}; push(@FileList,$UseThisFile); open(FILE,"<$UseThisFile") || die "Could not open $UseThisFile because $!\n"; # look for the string going backwards $count = system("wc -l $UseThisFile"); for ($i=$count; ; $i--) { $FoundLine = $i, last LOOP if ($File[$i] =~ m/$Value/i); # $FoundLine = $i, last LOOP if (index($File[$i],$Value) >=0) ; } close FILE; }