Hi -
Any ideas on which particular upstream PERL patch fixes this
issue would be much appreciated :
In RHEL-3's perl-5.8.0-88.9.1 / 5.8.0-88.9 (basically 5.8.1 in all but name):
$ perl -e '$s="a"; ($s=~/^\p{IsASCII}+$/) && print "yes\n";'
yes
$ perl -e '$s="a"; $s=~s///; ($s=~/^\p{IsASCII}+$/) && print "yes\n";'
$ (no)
$ perl -e '$s="a"; $s=~s///; ($s=~/^[[:ascii:]]+$/) && print "yes\n";'
yes
$ perl -e '$s="a"; $s=~s/n//; ($s=~/^\p{IsASCII}+$/) && print "yes\n";'
yes
$ perl -e '$s="a"; $s=~s/\s//; ($s=~/^\p{IsASCII}+$/) && print "yes\n";'
$ (no)
ie. the ^\p{IsASCII}+$ test always fails if it is preceded by a 's///' substitution
which does not substitute anything and attempts to match whitespace or nothing.
This is Bugzilla 171653 which I'm trying to fix.
I've searched the PERL bugs and done a cursory grep of the hundreds of PERL patches
applied since 5.8.[01], but cannot find any obvious candidates.
Any suggestions / ideas as to which set of upstream perl patches could be applied to
RHEL-3 that would fix this issue and not break anything else would would be much
appreciated.
Meanwhile I'm attempting to debug the regexec.c code to and looking at each patch
affecting regexec.c in order to determine what causes this and what fixes it in the
RHEL-4 and FC-{3,4,5} perl versions.
Thanks & Regards,
Jason Vas Dias
Red Hat PERL package maintainer