This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
disable lexing of (?{}) within \Q, \U etc
authorDavid Mitchell <davem@iabyn.com>
Mon, 1 Aug 2011 11:40:32 +0000 (12:40 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 13 Jun 2012 12:25:48 +0000 (13:25 +0100)
commitd3cec5e59cf054b6e60960bb68395ce6086533a2
tree885cdbb3b695ae77530f5c661c20256d96107cf5
parentbe149b43bd89004830156e1bc2532d26309ca1ac
disable lexing of (?{}) within \Q, \U etc

when (?{..}) or (??{..}) is enclosed in one of the modifiers like \Q,
don't parse it; treat it as plain characters that are modified by \Q etc.
This means that any code blocks will be interpreted by the regexp compiler
rather than the lexer. This restores behaviour similar to 5.14 and
earlier, except that the (?{}) is *completely* uninterpreted by the lexer,
whereas 5.14 would skip  till matching {}.
t/re/pat_re_eval.t
toke.c