Re: XML/HTML-specific ?< and ?> operators?
[email protected] (Hugo) Tue, 12 Sep 2000 02:49:42 +0100
| Newsgroups | perl.perl6.language.regex |
|---|---|
| Message-ID | <[email protected]> |
Mark-Jason Dominus wrote:
:This is not exactly the same, but I tried a direct translation:
:
: $re = qr{ \( (??{$re}) \)
: | (??{$re}) (??{$re})
: | (?> [^()]+)
: }x;
:
:and it looks worse and dumps core.
That's because the first non-paren forces it to recurse into the
second branch until you hit REG_INFTY or overflow the stack. Swap
second and third branches and you have a better chance:
$re = qr{
\( (??{$re}) \)
|
(?> [^()]+)
|
(??{$re}) (??{$re})
}x;
(I haven't checked that there aren't other problems with it, though.)
Hugo