diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-30 12:58:16 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-30 12:58:16 +0000 |
commit | a01268b57212e226e8cd71d448590f3e6c10d529 (patch) | |
tree | d5af556152a0a5fb6a1171e857700ddebad98f1b /pod | |
parent | 5511f32566b97bafb11878d78796befdf490138c (diff) | |
download | perl-a01268b57212e226e8cd71d448590f3e6c10d529.tar.gz |
Add support for $^N, the most-recently closed group.
p4raw-id: //depot/perl@11038
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perlretut.pod | 9 | ||||
-rw-r--r-- | pod/perltoc.pod | 2 | ||||
-rw-r--r-- | pod/perlvar.pod | 21 |
3 files changed, 25 insertions, 7 deletions
diff --git a/pod/perlretut.pod b/pod/perlretut.pod index 45f829b2a0..3e83c1305f 100644 --- a/pod/perlretut.pod +++ b/pod/perlretut.pod @@ -710,9 +710,12 @@ indicated below it: /(ab(cd|ef)((gi)|j))/; 1 2 34 -so that if the regexp matched, e.g., C<$2> would contain 'cd' or 'ef'. -For convenience, perl sets C<$+> to the highest numbered C<$1>, C<$2>, -... that got assigned. +so that if the regexp matched, e.g., C<$2> would contain 'cd' or 'ef'. For +convenience, perl sets C<$+> to the string held by the highest numbered +C<$1>, C<$2>, ... that got assigned (and, somewhat related, C<$^N> to the +value of the C<$1>, C<$2>, ... most-recently assigned; i.e. the C<$1>, +C<$2>, ... associated with the rightmost closing parenthesis used in the +match). Closely associated with the matching variables C<$1>, C<$2>, ... are the B<backreferences> C<\1>, C<\2>, ... . Backreferences are simply diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 502a8f433b..98652cc60b 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -904,7 +904,7 @@ $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EXTENDED_OS_ERROR, $^E, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<, $EFFECTIVE_USER_ID, $EUID, $>, $REAL_GROUP_ID, $GID, $(, $EFFECTIVE_GROUP_ID, $EGID, $), $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, -$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, +$DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $^N, $OSNAME, $^O, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, $BASETIME, $^T, $PERL_VERSION, $^V, $WARNING, $^W, ${^WARNING_BITS}, diff --git a/pod/perlvar.pod b/pod/perlvar.pod index eae87c791c..d70f22d1bd 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -180,15 +180,30 @@ performance penalty on all regular expression matches. See L<BUGS>. =item $+ -The last bracket matched by the last search pattern. This is useful if -you don't know which one of a set of alternative patterns matched. For -example: +The text matched by the last bracket of the last successful search pattern. +This is useful if you don't know which one of a set of alternative patterns +matched. For example: /Version: (.*)|Revision: (.*)/ && ($rev = $+); (Mnemonic: be positive and forward looking.) This variable is read-only and dynamically scoped to the current BLOCK. +=item $^N + +The text matched by the used group most-recently closed (i.e. the group +with the rightmost closing parenthesis) of the last successful search +pattern. This is primarly used inside C<(?{...})> blocks for examining text +recently matched. For example, to effectively capture text to a variable +(in addition to C<$1>, C<$2>, etc.), replace C<(...)> with + + (?:(...)(?{ $var = $^N })) + +By setting and then using C<$var> in this way relieves you from having to +worry about exactly which numbered set of parentheses they are. + +This variable is dynamically scoped to the current BLOCK. + =item @LAST_MATCH_END =item @+ |