Perl Unicode glitch
Posted
by
RedGrittyBrick
on Stack Overflow
See other posts from Stack Overflow
or by RedGrittyBrick
Published on 2010-12-31T21:29:13Z
Indexed on
2010/12/31
21:53 UTC
Read the original article
Hit count: 336
In this output, why am I getting extra newlines between lines b&c and d&e?
a: ....v....1....v... (a) b: 'Budejovický Budvar' length 18 (b) c: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (c) d: B u d e j o v i c k ý B u d v a r (d) e: 42 75 64 11b 6a 6f 76 69 63 6b fd 20 42 75 64 76 61 72 (e)
from this program
#!perl
use strict;
use warnings;
binmode (STDOUT, "encoding(UTF-8)"); # so no "Wide characater in print" warning
print "\n";
my $r = "Bud\N{U+011B}jovick\N{U+00FD} Budvar";
print "a: ....v....1....v... (a)\n";
print "b: '$r' length ", length($r)," (b)\n";
print "c:";
printf "%4d",$_ for (1..18);
print " (c)\n";
print "d: ";
print join(" ", split("", $r));
print " (d)\n";
print "e: ";
printf "%*v3x", " ", $r;
print " (e)\n";
© Stack Overflow or respective owner