The line
@logarray=<LOG>; # dumps all of $logfile into @logarray is reading all of the lines into an array. The test
@logarray eq $error is in scalar context. It is comparing the
number of lines in the file to the text. This will bever succeed.
Ignore the list building and just work through the file line by line and use a regular expression to test.
Take a look at the following as an example.
use strict;
# Set the button to green initially
my $button = "perlgreenblink";
# test the file line by line.
# The line gets read into $_
# I am testing on the DATA segment to illustrate the point
while (<DATA>){
# test with a regex and end the
# while loop if there is a problem
if (/DOWN/){
$button = "perlredblink2";
last;
}
if (/PROBLEM/){
$button = "perlyellowblink";
last;
}
}
print "HTML for <img src=\"$button.gif\" />\n";
__DATA__
nothing here
going smoothly
Its all going DOWN
no PROBLEM at all