perl -e '"01234" =~ /^(.+)(.+)((?:.z?)+)$(?{ print "$1 $2 $3\n" })(*FAIL)/'
... program outputs only five variants and "0 1 234" disappears.
I see the same behavior on Strawberries 5.10.1.5, 5.12.3.0, 5.14.4.1 and ActiveState 5.8.9. (Have to use (?!) in place of (*FAIL) previous to 5.10, but these patterns are exactly equivalent.)
Why is this behavior seen? Dunno. Will have to think about this a bit.
Give a man a fish: <%-{-{-{-<
In reply to Re: Bug with finding all regexp matches
by AnomalousMonk
in thread Bug with finding all regexp matches
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |