From: Jarkko Hietaniemi Date: Tue, 17 Jun 2003 13:12:21 +0000 (+0000) Subject: DOCPATCH Re: $1 remains uncleared for failed matches X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=665e98b9987fe678dd115b56e9f0c9eb6bba0f1e;p=p5sagit%2Fp5-mst-13.2.git DOCPATCH Re: $1 remains uncleared for failed matches From: david nicol Date: 16 Jun 2003 20:35:24 -0500 Message-Id: <1055813724.1580.19.camel@plaza.davidnicol.com> Subject: Re: DOCPATCH Re: $1 remains uncleared for failed matches From: Ronald J Kimball Date: Tue, 17 Jun 2003 00:12:04 -0400 Message-ID: <20030617041204.GA34960@linguist.thayer.dartmouth.edu> p4raw-id: //depot/perl@19804 --- diff --git a/pod/perlre.pod b/pod/perlre.pod index a11e3e8..365cbb9 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.) +B: 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: 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 48a886a..6a6a443 100644 --- a/pod/perltrap.pod +++ b/pod/perltrap.pod @@ -1224,6 +1224,10 @@ repeatedly, like C or C. # 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