in reply to extended ASCII regex range
use strict; use warnings; my $param = 'abe '.chr(155).chr(156).'lincoln'; warn $param; $param =~ s/[^a-zA-Z0-9\.\-\=\+\!\@\#\$\%\^\&\*\?\ \x80-\x97\xa0-\xa5] +//g; die $param; __END__ abe ¢£lincoln at regexS.pl line 4. abe lincoln at regexS.pl line 6.
so my guess is still that it's some kind of encoding issue (if there really is an issue at all).use strict; use warnings; #use utf8; my $param = 'abe '.chr(133).' in range lincoln '.chr(152).' out of ran +ge'; #my $param = "abe \x85 in range lincoln \x98 out of range"; print $param,$/; $param =~ s/[^a-zA-Z0-9\.\-\=\+\!\@\#\$\%\^\&\*\?\ \x80-\x97\xa0-\xa5] +/X/g; print $param,$/; __END__ E:\dev\LOOSE>perl regex.utf8.pl abe à in range lincoln ÿ out of range abe à in range lincoln X out of range E:\dev\LOOSE>perl -Mutf8 regex.utf8.pl abe à in range lincoln ÿ out of range abe X in range lincoln X out of range E:\dev\LOOSE>G:\perl\bin\perl regex.utf8.pl abe à in range lincoln ÿ out of range abe à in range lincoln X out of range E:\dev\LOOSE>G:\perl\bin\perl -Mutf8 regex.utf8.pl abe à in range lincoln ÿ out of range abe à in range lincoln X out of range E:\dev\LOOSE>
|
|---|