BACK
2012-10-15

Perlの正規表現でマッチした値の保持期限?

Perlでマッチングした結果が$1〜に入るのはおなじみですが、
これの保持期限は次のマッチングまでだと思っていたら、置換のs/でもクリアされるっぽい。

$str = 'oh yarufu';
if($str =~ /(\w+)\syarufu/){
print $1."\n"; # oh

$str =~ tr/ /:/;
print $1."\n"; # oh

$str =~ s/:/,/;
print $1."\n"; # 何も出ない
}

sで、かつマッチングした場合のみ発生。
trが大丈夫なのは何故だ・・・仕様or実装。


英語キーボードがだいぶなじんできたのか、
アンダーバー押すときに指が上に行くようになった。
だがアスタリスクはまだJISの位置を押してしまう・・・もう一息。


BACK