読者です 読者をやめる 読者になる 読者になる

正規表現のリファレンスを変数に格納 !!

my $ref = qr/A/i;

これで正規表現をリファレンスとして渡せるらしい。

my $a = qr/a/i;
my $b = "aaaab";
my $c = "AAAaab";

$b =~ s/$a/b/g;
$c =~ s/$a/b/g;
print "$b\n $c";

出力---
bbbb
bbbbbb

こんな感じになります。

普通、正規表現の式自体を渡したいなって思っても、
「/hoge/」はスカラーではなく、文字列になってしまうんです。
そのため、オプションを渡せないんですね。。。

my $a = "/hoge/i";
my $b = "HOGEhogeaaaa";
$b =~ s/$a/iii/;
print $b;

出力---
HOGEhogeaaa


変数に正規表現そのまま渡すことが出来れば、
サブルーチンに正規表現渡し、その時々で条件式変えられるとかに使えるため、便利だ。うむ