This one tries to avoid the two utf8 tests. But as Simon points
out we really ought not be doing that. The enclosed patch fixes
regmesg.t legitimately for the C<chr(92) eq 'm'> problem though
(so it should ultimately be of some use):
--- t/op/regmesg.t.orig Wed Oct 11 17:45:50 2000
+++ t/op/regmesg.t Wed Oct 11 18:18:10 2000
@@ -99,7 +99,12 @@
"m'\\y'" => 'Unrecognized escape \y passed through before {#} mark in regex
m/\y{#}/',
);
+my $Is_EBCDIC = (ord("\t") != 9);;
my $total = (@death + @warning)/2;
+if ($Is_EBCDIC) {
+ my @utf8_tests = grep(/utf8/,@death);
+ $total = $total - $#utf8_tests;
+}
print "1..$total\n";
@@ -107,9 +112,15 @@
while (@death)
{
- $count++;
my $regex = shift @death;
my $result = shift @death;
+ next if ($Is_EBCDIC && $regex =~ /utf8/);
+ if ($Is_EBCDIC) {
+ my $backslash_ord = 224; # 037 and 1047
+ if ($^O eq 'posix-bc') { $backslash_ord = 188; }
+ $regex =~ s/chr\(92\)/chr($backslash_ord)/;
+ }
+ $count++;
$_ = "x";
eval $regex;
End of "patch".
Peter Prymmer