In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/30457add2d1f514977190c5b66b67eae3b64bcc6?hp=3337229ca19b517df4e7e43fd4312f0ee9e5b6c0>

- Log -----------------------------------------------------------------
commit 30457add2d1f514977190c5b66b67eae3b64bcc6
Author: Karl Williamson <k...@cpan.org>
Date:   Mon Feb 19 20:52:29 2018 -0700

    perlre: Add note that nested (?>...) are not no-ops

-----------------------------------------------------------------------

Summary of changes:
 pod/perlre.pod | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pod/perlre.pod b/pod/perlre.pod
index 29082a66d0..0c6ef15e9d 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -2248,6 +2248,18 @@ to inside of one of these constructs. The following 
equivalences apply:
     PAT?+               (?>PAT?)
     PAT{min,max}+       (?>PAT{min,max})
 
+Nested C<(?E<gt>...)> constructs are not no-ops, even if at first glance
+they might seem to be.  This is because the nested C<(?E<gt>...)> can
+restrict internal backtracking that otherwise might occur.  For example,
+
+ "abc" =~ /(?>a[bc]*c)/
+
+matches, but
+
+ "abc" =~ /(?>a(?>[bc]*)c)/
+
+does not.
+
 The alphabetic form (C<(*atomic:...)>) is experimental; using it
 yields a warning in the C<experimental::alpha_assertions> category.
 

-- 
Perl5 Master Repository

Reply via email to