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: 266

Filed under:
|

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

Related posts about perl

Related posts about unicode