CGI-BBS > CGI > Perl > 「$1」には、何が入るんでしょうか?


カレッヂ
カレッヂ


質問者 なで  投稿日 1/10(水) 14:55:10
あけましておめでとうございます。
今年もよろしくお願いいたします。
久々に登場してみたんですが、凄く分かりやすくなりましたね。

で、質問なのですが…
サンプルプログラム等を読んでいるとよくでてくる「$1」なんですが、
(って、私だけが良く見かけてるだけかも知れないんですが…)
これは、「1」と言う名前の変数で、
$hensu=1;
ってするように、何か値を代入するものなのでしょうか?
それとも、Perl独特の決まりと言うか、知っててお得な機能で、
「$1」は、特殊変数的なものであり、何かの処理をした後には、
勝手に、値がはいるものなのでしょうか?

もし、後者なら、何が入っているのでしょうか?
ちゃんと理解できてないんですが、
$aaa=$1;
みたいに、突然でてきて、値が入ってるんですよ。
「これって何???????」っと思い、質問してしまいました。

上手く伝わったでしょうか?

よろしくお願いいたします。

回答者 しあわせのツボ  [削除]  投稿日 1/10(水) 18:17:24
$1,$2,$3,.. には、正規表現の(括弧)内にマッチしたものが格納されます。
たとえば
if ($hizuke =~ /(\d\d)年(\d\d)月(\d\d)日/) { $date = "$3/$2/$1"; }
とすることで、$hizukeに入っている日本式の日付を欧米風に変換し$dateに格納することができます。
質問者 なで  [削除]  投稿日 1/10(水) 19:03:49
いつも分かりやすい回答をありがとうございます。
凄く、よくわかりました。

早速、これをつかってみよう!

ありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技