As you loops through your data, you need to determine if a given row contains the "OCOMsg2" field you're looking for, and if it does write out the following:
<tr style="color: red;">
Otherwise, just write out a plain tr tag with no style attribute. You need to do this before splitting the row into individual parts - or else use join to put them back together in order to do the check. Something like this:
use strict;
my @stat_array = (
"ibfarm102 - localtick",
"Boston" ,
"hibmis100 - procHKHD2 - Hongkong",
"PidMonRsp",
"eufarm102 - localtick",
"London",
"hibmis100 - procHKHD2 - Hongkong",
"PidMonReq",
"ibfarm102 - localtick",
"New York",
"hibmis100 - procHKHD2 - Hongkong",
"PidMonRsp",
"ibfarm102 - localtick",
"New York",
"hibmis100 - procHKHD2 - Hongkong",
"OCOMsg2"
);
while (my @group_of_4 = splice(@stat_array, 0 , 4)) {
my $rowstring = join(' ', @group_of_4);
if ($rowstring =~ /OCOMsg2/) {
print MAIL "<tr style=\"color: red;\">\n";
} else {
print MAIL "<tr>\n";
}
for my $data (@group_of_4) {
print MAIL "<td>$data</td>\n";
}
print MAIL "</tr>\n";
}
I get this output:
<tr>
<td>ibfarm102 - localtick</td>
<td>Boston</td>
<td>hibmis100 - procHKHD2 - Hongkong</td>
<td>PidMonRsp</td>
</tr>
<tr>
<td>eufarm102 - localtick</td>
<td>London</td>
<td>hibmis100 - procHKHD2 - Hongkong</td>
<td>PidMonReq</td>
</tr>
<tr>
<td>ibfarm102 - localtick</td>
<td>New York</td>
<td>hibmis100 - procHKHD2 - Hongkong</td>
<td>PidMonRsp</td>
</tr>
<tr style="color: red;">
<td>ibfarm102 - localtick</td>
<td>New York</td>
<td>hibmis100 - procHKHD2 - Hongkong</td>
<td>OCOMsg2</td>
</tr>
If that's not what you want - hopefully it's enough to get you going in the right direction.