4

我在数组中有以下字符串@stat

  r>  10.12.44.0/24                             
  r>  10.11.48.0/24                               
  *>  10.15.49.0/24                              
  r>  10.16.53.0/24                               
  r>  10.14.59.0/24                              
  *>  10.18.63.0/24

我想匹配有“ *>”的那个。请注意,在*. 我尝试使用以下方法,但没有奏效。

foreach (@stat) {
    if (/^\s\*\>/) { 
    # do something
    }
}

我错过了什么?

4

1 回答 1

5

\s匹配一个空白字符。您发布的内容实际上有两个前导空格。以下应该可以解决问题:

foreach (@stat) {
    if (/^\s*\*>/) { 
        # do something
    }
}

如果没有,请更仔细地检查阵列中的实际内容。

use Data::Dumper qw( Dumper );

{
    local $Data::Dumper::Useqq = 1;
    print(Dumper(\@stat));
}
于 2013-02-05T22:35:02.837 回答