in reply to Re^2: qr// and user provided regex patterns...
in thread qr// and user provided regex patterns...
It makes no sense to let the user specify /g for a match. You can't even use it on qr// because it makes no sense. ixsm are the four modifiers that apply to the pattern as opposed to the operator.
The followign doesn't make much sense:
my $compd_pattern = eval "qr($pattern)" or die $@;
It removes the ability of qr// to quote, which is what you want. The code should be
my $compd_pattern = qr($pattern);
You say you have problems doing substitutions, but you didn't show us your attempt (despite your claim). You should have no problems using a qr// pattern in a substitution.
my $pat = ...; my $repl = ...; my $mods = ''; $mods .= 'i' if ...; $mods .= 's' if ...; $mods .= 'm' if ...; $mods .= 'x' if ...; my $re = qr/(?$mods:$pat)/; if (...) { s/$re/$repl/g; } else { s/$re/$repl/; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: qr// and user provided regex patterns...
by JadeNB (Chaplain) on Aug 04, 2009 at 13:49 UTC |