diff options
-rw-r--r-- | pod/perlre.pod | 6 | ||||
-rw-r--r-- | pod/perltrap.pod | 4 |
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 |