summaryrefslogtreecommitdiff
path: root/pod/perlre.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perlre.pod')
-rw-r--r--pod/perlre.pod18
1 files changed, 14 insertions, 4 deletions
diff --git a/pod/perlre.pod b/pod/perlre.pod
index a22344fe4b..f79b8c7b51 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -998,18 +998,28 @@ highly experimental, and may be changed or deleted without notice.
Conditional expression. C<(condition)> should be either an integer in
parentheses (which is valid if the corresponding pair of parentheses
-matched), or look-ahead/look-behind/evaluate zero-width assertion.
+matched), a look-ahead/look-behind/evaluate zero-width assertion, a
+name in angle brackets or single quotes (which is valid if a buffer
+with the given name matched), the special symbol (R) (true when
+evaluated inside of recursion or eval). Additionally the R may be
+followed by a number, (which will be true when evaluated when recursing
+inside of the appropriate group), or by C<&NAME> in which case it will
+be true only when evaluated during recursion into the named group.
For example:
- m{ ( \( )?
- [^()]+
- (?(1) \) )
+ m{ ( \( )?
+ [^()]+
+ (?(1) \) )
}x
matches a chunk of non-parentheses, possibly included in parentheses
themselves.
+An additional special form of this pattern is the DEFINE pattern, which
+never executes its yes-pattern except by recursion, and does not allow
+a no-pattern.
+
=back
=head2 Backtracking