summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pod/perlre.pod6
-rw-r--r--pod/perltrap.pod4
2 files changed, 9 insertions, 1 deletions
diff --git a/pod/perlre.pod b/pod/perlre.pod
index a11e3e833b..365cbb9aaa 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -394,11 +394,15 @@ the most-recently closed group (submatch). C<$^N> can be used in
extended patterns (see below), for example to assign a submatch to a
variable.
-The numbered variables ($1, $2, $3, etc.) and the related punctuation
+The numbered match variables ($1, $2, $3, etc.) and the related punctuation
set (C<$+>, C<$&>, C<$`>, C<$'>, and C<$^N>) are all dynamically scoped
until the end of the enclosing block or until the next successful
match, whichever comes first. (See L<perlsyn/"Compound Statements">.)
+B<NOTE>: failed matches in Perl do not reset the match variables,
+which makes easier to write code that tests for a series of more
+specific cases and remembers the best match.
+
B<WARNING>: Once Perl sees that you need one of C<$&>, C<$`>, or
C<$'> anywhere in the program, it has to provide them for every
pattern match. This may substantially slow your program. Perl
diff --git a/pod/perltrap.pod b/pod/perltrap.pod
index 48a886a5f5..6a6a443568 100644
--- a/pod/perltrap.pod
+++ b/pod/perltrap.pod
@@ -1224,6 +1224,10 @@ repeatedly, like C</x/> or C<m!x!>.
# perl4 prints: perl4
# perl5 prints: perl5
+=item * Regular Expression
+
+Unlike in Ruby, failed matches in Perl do not reset the match variables
+($1, $2, ..., C<$`>, ...).
=back