在首先评估同一(我认为)元素中是否存在另一个字符串之后,我试图修改供应商的perl脚本以评估字符串是否存在于数组中的当前元素中。
我要查找“转发到|重定向到|镜像到”,如果存在,则然后查找“丢弃”。现在,无论先前的字符串是否存在,他们的代码都会查找“丢弃”。
sub processAccount {
my $account=$_[0];
my $Rules=$cli->GetAccountMailRules($account);
foreach my $Rule (@$Rules) {
my $actions=$Rule->[3];
foreach my $actn (@$actions) {
my $a=$actn->[0];
if($a=~/Forward to|Redirect to|Mirror to/) {
print "$account: '$a' -> $actn->[1]\n";
}
if($a=~/Discard/) {
print "$account: Discard\n";
}
}
}
我尝试嵌套if循环以查找“丢弃”,但是它永远不会评估为真。
foreach my $actn (@$actions) {
my $a=$actn->[0];
if($a=~/Forward to|Redirect to|Mirror to/) {
print "$account: '$a' -> $actn->[1]\n";
if($a=~/Discard/) {
print "$account: Discard\n";
}
}
}