On Tue, Jun 01, 2004 at 02:11:56PM -0400, [EMAIL PROTECTED] wrote:

>     13  '__pqr____xyz__pqr___abc___' =~ /(($re).*?)*(?!)/;

> Of course, this is incomplete, but it is a start.  One thing that
> puzzles me is that the (?!) is absolutely required on line 13.
> Without it, @seen doesn't get initialized at all.  Why should this be?
> I would have thought that the final '*' in the regexp would be enough
> to get the regexp to continue attempting to match.

/(anything)*/ can always match a zero length substring at the beginning of
the string, and as soon as the regex engine finds a match, it stops.  The
(?!) forces the regex engine to backtrack through all possible matches.

Ronald

Reply via email to