Perlでm演算子と正規表現の記憶
m演算子は、文字列中の正規表現検索だけでなく、正規表現にマッチした文字列も取得することができます。
たとえば、以下では、小括弧中の正規表現『.*』にマッチした文字列が $1 へ代入され、つぎの右の小括弧2つは、同じくマッチした文字列が各々 $2 と $3 に格納される。
my $aaa = "111,222,333, 444,555"; $aaa =~ m/^(.*), (...),(5+)$/; my @aaa = split(",", $1); print $aaa[0], "\n"; # 111が表示 print $aaa[1], "\n"; # 222が表示 print $aaa[2], "\n"; # 333が表示 print $2, "\n"; # 444が表示 print $3, "\n"; # 555が表示
もう、$aaaと$aaa[0]の違いは分かるよね!