Bruce.さん < こん??は でび です
On Thu, 23 Mar 2006 08:58:04 +0900 (JST)
kbk@... (Bruce.) wrote:
> そうです。括弧をつけるなら
>
> $dest1 = ($dest2 = $src);
>
> になります。
なる。
>$src の値を $dest2に代入し、その式の値(つまりは$srcの値であり
>$dest2の値ですが)を$dest1 に代入。となります。
「その式」の値。ははぁ、なるほど。
>print $dest = $src . "world";
ここが面白いですね。
「$src」には既に値が入っているから、こういう動きを
するんですね。
でも、
print $dest = $src . "world";
print "\n";
$src = "hello, ";
print $dest;
としたら、\nの上の$dest は「空っぽの$src . "world";」
となるのはわかりますが、その後で「空っぽ」部分を「hello,」
で上書きしているんだから最後のprintはちゃんと出そうな
もんですが?
> たとえば awk では gsub(/hoge/, "fuga", str) のように関数形式で
> その第三引数で置換対象を指定します(省略されたときは$0)。
>
> 同様に、=~ は 右辺に置かれた式の対象を左辺に置かれたものにする。
> というだけのことです。Perlの中の人は s/src/dest/ を実行するときに
> 置換を行う関数を実行していて、
>
> > > $dest1 =~ s/%([a-fA-F0-9]{2})/pack('C', hex($1))/eg;
>
> を、
>
> gsub(/%([a-fA-F0-9]{2})/, "pack('C', hex($1)", $dest1)
>
> のように解釈していると考えれば良いのでは。
今までで一番しっくり来ました。すげーわかりやすい。
awkの$0のように存在する「何か」(でもこれは比喩
だから、Perlの $_ とは違うんですよね?)を暗黙に
想定してゆけば良いのですね。
−−−−−−−−−−−−
> あの本は元々わたし一人で書くはずのものでした。
あ〜すみません。監修って言うと、一番偉くて一番名前が
売れていて、そして一番何もやらなかった人のこと、って
いう感覚が根強かったもので。(国語辞典とか、そうでしょ?)
そういえば、理系の論文ではFastAuthorが一番偉いんだよ、
ってのを教えて貰った時にもびっくりしました。
でび http://homepage1.nifty.com/davi/