Autor: Philip Hazel Data: Para: ND CC: Pcre-dev Assunto: Re: [pcre-dev] Inner (*MARK) don't keep its value outside the
assertion
On Sat, 31 Dec 2011, ND wrote:
> >But it is a strange logic (in my point of view) that
> >/(?=(*:x))(q|)/K
> >keeps the MARK:x value
> >while the
> >/(?=(*:x))((*:y)q|)/K
> >don't.
> >Isn't it?
> >
>
> Perl documentation says:
>
> "When a match is successful, the $REGMARK variable will be set to the name of
> the most recently executed (*MARK:NAME) that was involved in the match."
>
> It seems that Perl don't follow the documented behaviour and returns erroneous
> results in example above.
> So I propose to not move this bug into PCRE.
This is a different issue to the use of marks in negative assertions. I
will look at it in due course. I presume you expect it to return the
mark "x".