Bruce.です。
davi writes:
> でも、
>
> print $dest = $src . "world";
> print "\n";
> $src = "hello, ";
> print $dest;
>
> としたら、\nの上の$dest は「空っぽの$src . "world";」
> となるのはわかりますが、その後で「空っぽ」部分を「hello,」
> で上書きしているんだから最後のprintはちゃんと出そうな
> もんですが?
いいところに目をつけてますね。
$destの値が決定するのは、printするときではなくて代入のときです。
つまり、$srcの値もそのときに取り出して$destの値を設定するのに
使っているので、代入後に$srcを操作しても$destには影響しないのです。
> awkの$0のように存在する「何か」(でもこれは比喩
> だから、Perlの $_ とは違うんですよね?)を暗黙に
> 想定してゆけば良いのですね。
$_ でいいんですよ。
色々な操作でそうなんですが、対象を指定せずにs///を使った場合には
$_が操作の対象になるようなルールになっています。
これがPerlの便利な点でもあり嫌われる元でもあり。
いじょ。