Hi Raphael, et al.

I've been also working on trying to produce a fix for this issue, but
I was stuck with dealing with zero-width matches, which are quite
tricky to handle. I just tried and your patch doesn't handle this,
take for example s/()/./g:


$ perl -MPET::Watch -e '$r = shift; $s = shift;
PET::Watch::safe_replace($s, $r); print "$s\n"' 's/()/./g' foo
foo

$ perl -e '$r = shift; $s = shift; eval "\$s =~ $r"; print "$s\n"'
's/()/./g' foo
.f.o.o.

I know this is a corner case, but it's quite a deviation from the
standard behaviour of regexes.

-- 
Martín Ferrari




--
To unsubscribe, send mail to [email protected].

Reply via email to