http://www.perlmonks.org?node_id=812941


in reply to Re^2: Regex fun
in thread Regex fun

I didn't say you couldn't build regexps dynamically. I said the quantifier can't be variable. Perl regular expressions don't even have variables, so you couldn't possibly have shown one being used.

You can't have a quantifier until you have a regexp, and you don't have a regexp until you interpolate anything that needs to be interpolated.

What's the quantifier in the following?

$ perl -E 'my $x = "2"; "ab" =~ /.{$x}/ and say "Matched"' Matched

Are you saying it's different in this one?

$ perl -E 'my $x = "{2}"; "ab" =~ /.$x/ and say "Matched"' Matched

What about this one?

$ perl -E 'my $x = "2}"; "ab" =~ /.{$x/ and say "Matched"' Matched

In all cases, the quantifier is {2}. No variables is involved. Sure, the regexp is produced from a variable, but that has nothing to do with the quantifier.

Update: Clarified.