other engines have to.
The C<flags> parameter is a bitfield which indicates which of the
-C<msixp> flags the regex was compiled with. It also contains
+C<msixpn> flags the regex was compiled with. It also contains
additional info, such as if C<use locale> is in effect.
The C<eogc> flags are stripped out before being passed to the comp
=item Character set
-The character set semantics are determined by an enum that is contained
+The character set rules are determined by an enum that is contained
in this field. This is still experimental and subject to change, but
the current interface returns the rules by use of the in-line function
C<get_regex_charset(const U32 flags)>. The only currently documented
behave in the same situation:
package CaptureVar;
- use base 'Tie::Scalar';
+ use parent 'Tie::Scalar';
sub TIESCALAR { bless [] }
sub FETCH { undef }
* matching*/
U32 lastparen; /* highest close paren matched ($+) */
U32 lastcloseparen; /* last close paren matched ($^N) */
- regexp_paren_pair *swap; /* Swap copy of *offs */
regexp_paren_pair *offs; /* Array of offsets for (@-) and
(@+) */
=head2 C<nparens>, C<lastparen>, and C<lastcloseparen>
-These fields are used to keep track of how many paren groups could be matched
-in the pattern, which was the last open paren to be entered, and which was
-the last close paren to be entered.
+These fields are used to keep track of: how many paren capture groups
+there are in the pattern; which was the highest paren to be closed (see
+L<perlvar/$+>); and which was the most recent paren to be closed (see
+L<perlvar/$^N>).
=head2 C<intflags>
C<regexp_internal> structure (see L<perlreguts/Base Structures>) but a custom
engine should use something else.
-=head2 C<swap>
-
-Unused. Left in for compatibility with Perl 5.10.0.
-
=head2 C<offs>
A C<regexp_paren_pair> structure which defines offsets into the string being
If C<< ->offs[num].start >> or C<< ->offs[num].end >> is C<-1> then that
capture group did not match.
C<< ->offs[0].start/end >> represents C<$&> (or
-C<${^MATCH}> under C<//p>) and C<< ->offs[paren].end >> matches C<$$paren> where
+C<${^MATCH}> under C</p>) and C<< ->offs[paren].end >> matches C<$$paren> where
C<$paren >= 1>.
=head2 C<precomp> C<prelen>