summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-01-05 11:25:10 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-01-05 11:25:10 +0000
commit439481750538dbb51d2e41a78ef67e76929da233 (patch)
tree059e4894e2e4f5712f10052ccbcf679d14992a36 /ext
parent0a9fdc5d26a453a78e950d4bdaa9da4ed9ede5af (diff)
downloadperl-439481750538dbb51d2e41a78ef67e76929da233.tar.gz
tweak change#4745 to make ebcdic output match for chars <= 037
p4raw-link: @4745 on //depot/perl: 0407a77bc74fb10c233a2d09d551311e3628eba5 p4raw-id: //depot/perl@4756
Diffstat (limited to 'ext')
-rw-r--r--ext/Data/Dumper/Dumper.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/Data/Dumper/Dumper.pm b/ext/Data/Dumper/Dumper.pm
index 1478672f64..a4aa3288a6 100644
--- a/ext/Data/Dumper/Dumper.pm
+++ b/ext/Data/Dumper/Dumper.pm
@@ -560,6 +560,7 @@ sub qquote {
# no need for 3 digits in escape for these
s/([\0-\037])(?!\d)/'\\'.sprintf('%o',ord($1))/eg;
s/([\0-\037\177])/'\\'.sprintf('%03o',ord($1))/eg;
+ # all but last branch below not supported --BEHAVIOR SUBJECT TO CHANGE--
if ($high eq "iso8859") {
s/([\200-\240])/'\\'.sprintf('%o',ord($1))/eg;
} elsif ($high eq "utf8") {
@@ -572,7 +573,10 @@ sub qquote {
}
}
else { # ebcdic
- s/([^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~])/'\\'.sprintf('%03o',ord($1))/eg;
+ s{([^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~])(?!\d)}
+ {my $v = ord($1); '\\'.sprintf(($v <= 037 ? '%o' : '%03o'), $v)}eg;
+ s{([^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~])}
+ {'\\'.sprintf('%03o',ord($1))}eg;
}
return qq("$_");