【发布时间】:2015-09-02 20:50:03
【问题描述】:
我有一个字符串,它可能包含也可能不包含某些特定的单词。 如果它包含我想以不同颜色打印字符串的作品之一(取决于单词) 所以我想有一个包含单词列表的数组(例如,一个用于红色单词,一个用于黄色,一个用于绿色,如下例所示:
push(@red_word, [ "error","ERROR","Assertion","assertion","Error","ASSERTION","Errors" ]);
push(@yellow_word, [ "WARNING","Warning","warning","PAUSED","Paused","paused","Warnings" ]);
push(@green_word, [ "ACTIVE","Active","active" ]);
$l 是我要检查的字符串,我试过这样的
foreach my $l (@$lines) {
if ($l =~ @red_word) {
print '<FONT COLOR="FF0000">'.$l.'</FONT><br>';
}
else {
if ($l =~ @yellow_word) {
print '<FONT COLOR="FFFF00">'.$l.'</FONT><br>';
}
else {
if ($l =~ @green_word) {
print '<FONT COLOR="008000">'.$l.'</FONT><br>';
}
else {
print '<FONT COLOR="000000">'.$l.'</FONT><br>';
}
}
}
}
但结果不稳定,有些行以红色打印,与列表 red_word 没有任何关系。
我做错了什么?
【问题讨论】:
标签: perl