配列の各要素を正規表現で置換する


perl map 置換とかで検索するとこんな感じのコードが出てくる

my @before = ('foo', 'bar', 'baz');
my @after = map {$_ =~ s/b/B/; $_} @before;

これでもうまくいくんだけど、少々つっこみを
見た目の問題なんだけど、パターンマッチ演算子(=~)は省略すると $_ が使われるのでこの場合は省略できる
$_ は各要素のエイリアスなので @before の値も変更されてしまう
元の値がいらなければ

my @before = ('foo', 'bar', 'baz');
s/b/B/ for @before;

これで良いし
必要なら

my @before = ('foo', 'bar', 'baz');
s/b/B/ for my @after = @before;

で良い