tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

変数に代入しながら置換する

どっかで見たことあるコードなのだけど、どこで見たのか忘れちゃって、検索しようにもどう検索していいのか良くわかんない。で、試行錯誤したら再現できた。多分これであってるはず。忘れないようにメモメモ

#!/usr/bin/perl -w

use strict;
use warnings;
use feature qw(say);

my $str1 = "AAA";
(my $str2 = $str1) =~ s/AAA/BBB/;#この書き方ね

say $str1;
say $str2;

$str1 の内容を置換して、$str2 に突っ込むやりかた。($str1 の中身はそのまま)。

この書き方に名前はないのだろうか?検索したくても出来ない。でもオイラも名前思いつかない。


ちなみに、よくあるサンプルコードだと、

#!/usr/bin/perl -w

use strict;
use warnings;
use feature qw(say);

my $str1 = "AAA";
my $str2 = $str1;
$str2 =~ s/AAA/BBB/;

say $str1;
say $str2;

みたいに一度代入しているね。