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



Reply via email to