嵌套的if循环未按预期评估

时间:2019-09-03 21:30:42

标签: perl

在首先评估同一(我认为)元素中是否存在另一个字符串之后,我试图修改供应商的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";
     }
   }
 }

0 个答案:

没有答案