Perché questa stampa è una U
e non una Ü
?Qual è il modo giusto per ottenere un grapheme?
#!/usr/bin/env perl
use warnings;
use 5.014;
use utf8;
binmode STDOUT, ':utf8';
use charnames qw(:full);
my $string = "\N{LATIN CAPITAL LETTER U}\N{COMBINING DIAERESIS}";
while ($string =~ /(\X)/g) {
say $1;
}
# Output: U
it [funziona] (http://ideone.com/tw9Qr) su perl 5.12. – jfs
Hai bisogno di giocare queste cose con i numeri; non fidatevi di ciò che un "terminale" mostra. Passa attraverso [uniquote] (http://training.perl.com/scripts/uniquote), probabilmente con '-x' o' -v', e guarda cosa sta facendo. Gli occhi ingannano, e i programmi sono anche peggio. Il tuo programma terminale è bacato, quindi ti sta mentendo. – tchrist