#contents

* s///ee

 $r = '$1';
 $str =~ s/(.*)/$r/e;	# $strは'$1'に置換される
 $str =~ s/(.*)/$r/ee;	# s/(.*)/$1/ と等価
 
 $rr = '$r';
 $str =~ s/(.*)/$rr/e;	# $strは'$r'に置換される
 $str =~ s/(.*)/$rr/ee;	# $strは'$1'に置換される
 $str =~ s/(.*)/$rr/eee;	# s/(.*)/$1/ と等価

eを重ねるとevalを重ねるような評価になる。~
どのバージョンからなのかは知らない。

ただし結局 /e な扱いなので HOGE$r などは評価できない。
 # イバラの道
 # $rに / が含まれると転ける
 eval "\$str =~ s/(.*)/$r/;";

 # \1などは使えないがまだ機能する
 # eの数だけクオートがネストする
 $str =~ s/(.*)/qq|"$r"|/ee;

* m//g

マッチする箇所を抽出
 push(@words, $str =~ /\w+/g);

* 他

- 正規表現で a|b の時 aがbより優先される



トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS