- ベストアンサー
$hts =~ s/##([^#]+)##/$FORM{$1}/g の意味を教えてください!
お世話になります。 perl素人なのですが必要に迫られてWEBで調べながら ソースを解析していますが、次のコードで完全に止まってしまいました。 $hts =~ s/##([^#]+)##/$FORM{$1}/g この場合、 #hts から ##([^#]+)## を探して $FORM{$1} に全て置き換えようとしていると思うのですが、以下2点が理解できず困っています。 1.##([^#]+)## の意味 $htsに##で囲まれた文字列が複数あるのでそれら全てを探すということでしょうか? 2.$FORM{$1} の意味 $1は1.で検索した結果だと思いますが、$FORM{ }は一体なんでしょうか? 素人がいきなり解析するのは無謀なのは承知の上ですが、 どうしても業務で必要なので、お知恵をお貸し下さい。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
お礼
早速ご回答いただいてありがとうございます。 1.##([^#]+)## の意味 ##~##で囲まれた文字列を探す為の指定で、 ##~##の間は、#以外の文字([^#])が、 1回以上出てくる(+)ということですよね、多分。 2.$FORM{$1}の意味 1.で見つけた文字列はフォームのエレメント名になっていました。 つまり各##~##の文字列を対応するエレメントの値に置き換える、 ということかと思います。 解釈はこれでいいのでしょうか・・?