On 07/21/2012 11:44 AM, Robin Barker wrote:> I suggest this bug is marked as resolved. > The only warnings now come from cpan/ modules. > [perl#113094] is tracking the \{ issue for CPAN modules. > OK, moving it to the 113094 On 07/21/2012 07:51 AM, Dave Mitchell wrote: > On Fri, Jul 20, 2012 at 08:35:27PM -0700, Reverend Chip wrote: >> On 7/19/2012 10:15 AM, Karl Williamson wrote: >>> 3) Consider this as acceptable collateral breakage, document it, and >>> keep the warning for a cycle or two, after which we prohibit unescaped >>> literal left brackets. >>> >>> The final possibility is only feasible if there is very little current >>> breakage. >> >> My 2c: I think this is ideal, since stripping \ on {} in regexes seems >> like something we should never have done in the first place. > > Note that if we changed it so that escaped delimiters are no longer > stripped, *all* the following regexes would change their meaning; the last > three would become compile errors, while the first four would just > silently start matching different things: > > qr[^\[a-z\]$] > > qr# a > \#xxx > b > #x; > > qr(^\(x\)$); > > m?^xy\?$? > > qr!a(?\!b)!; > > qr<a(?\<foo\>b)>; > > qr|a(?\|foo)|; > Correct me if I'm wrong, but I believe that the most encompassing change would have breakages with if the delimiter is any of the dirty dozen metacharacters, but no others. Since '/' isn't one of the 12, there should be no potential problems with it. Obviously, if we decided to, we could restrict the change to just '{', as that is the only one we care about now. But that isn't aesthetically pleasing. --- via perlbug: queue: perl5 status: open https://rt.perl.org:443/rt3/Ticket/Display.html?id=113094Thread Next