4

array に次の文字列があります@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

\s1 つの空白文字に一致します。あなたが投稿したものには、実際には先頭に 2 つのスペースがあります。以下はそのトリックを行うはずです:

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 に答える