diff options
author | Karl Williamson <khw@cpan.org> | 2018-02-19 20:52:29 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2018-02-19 21:04:12 -0700 |
commit | 30457add2d1f514977190c5b66b67eae3b64bcc6 (patch) | |
tree | 3952b1624e9d155ddad6ca4453fce635889930ea /pod/perlre.pod | |
parent | 3337229ca19b517df4e7e43fd4312f0ee9e5b6c0 (diff) | |
download | perl-30457add2d1f514977190c5b66b67eae3b64bcc6.tar.gz |
perlre: Add note that nested (?>...) are not no-ops
Diffstat (limited to 'pod/perlre.pod')
-rw-r--r-- | pod/perlre.pod | 12 |
1 files changed, 12 insertions, 0 deletions
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. |