Change 25363 by rgs@bloom on 2005/09/07 11:09:10 The formatting function of Carp::Heavy has problem with utf8 strings. Work around it. Affected files ... ... //depot/perl/lib/Carp/Heavy.pm#24 edit Differences ... ==== //depot/perl/lib/Carp/Heavy.pm#24 (text) ==== @@ -116,9 +116,10 @@ $arg = "'$arg'" unless $arg =~ /^-?[\d.]+\z/; # The following handling of "control chars" is direct from - # the original code - I think it is broken on Unicode though. + # the original code - it is broken on Unicode though. # Suggestions? - $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg; + utf8::is_utf8($arg) + or $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg; return $arg; }