On Thu Oct 20 00:42:10 2016, demerphq wrote: > On 20 October 2016 at 09:37, demerphq <demerphq@gmail.com> wrote: > > On 19 October 2016 at 23:29, demerphq <demerphq@gmail.com> wrote: > >> On 19 October 2016 at 22:51, Father Chrysostomos via RT > >>> Similarly, having m|(?{ // })| try to use the *current* pattern > >>> instead of the last pattern to match successfully—solely due to an > >>> implementation detail—seems wrong. > >> > >> Yes I agree. > > > > So following up for this I put together a quick hack to make it > > possible to use the empty pattern in regexen, but honestly I dont see > > how it is very useful, it is all too easy to create an infinite loop > > (which luckily seems to be easy to detect). > > > > ./perl -le'$_="aa"; /a/; /(?{ s!!x! })/; print; //; print' > > xa > > Infinite recursion via empty pattern at -e line 1. > > > > I personally think this is no less ugly than the previous patch, but > > if you prefer it I can push it. > > > > FWIW, this seems to be yet another good reason to get rid of the > > empty pattern. > > Oh, here is another reason: > > ./perl -le'$_="ab"; my $p=qr/(?{ s!!x! })/; /$p/; print; /a/; /$p/; > print; /b/; /$p/; print; //;' > xab > xxb > xxx > Infinite recursion via empty pattern at -e line 1. > > Crazy. I would agree that the *Perl* code there is crazy and the author of it gets what he deserves. -- Father Chrysostomos --- via perlbug: queue: perl5 status: open https://rt.perl.org/Ticket/Display.html?id=129903Thread Previous | Thread Next