Thread use utf8 und Verhalten von String-Operationen (65 answers)
Opened by rosti at 2011-08-03 19:16

bianca
 2011-08-10 17:49
#151486 #151486
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Hierzu habe ich noch eine Frage.
In der letzten $foo auf Seite 36 hat Rosti mit dem Codeschnipsel ja auch behauptet, dass length von ä 2 ergäbe und dass dies anders sei, wenn man utf8 nutzt.
Ich habe das bei mir auf Windoof mit Perl 5.10 mal nachgestellt und bei mir kommt für length von ä immer 1 raus, niemals 2. Um genau zu sein kommt sogar eine Fehlermeldung und es liefert 0, siehe unten.
Nun habe ich diesen Thread hier zwar gelesen aber am Ende nicht wirklich so ganz verstanden.

Warum ergibt length von ä bei Rosti 2 und bei mir 1? Was ist denn jetzt am Ende richtig? Stimmt der Artikel in der $foo überhaupt inhaltlich?

Code (perl): (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl -w
use strict;
use warnings;
print length('ä'),"\n";
use utf8;
print length('ä'),"\n";
no utf8;
print length('ä'),"\n";

Quote
1
Malformed UTF-8 character (unexpected end of string) in length at test.pl line 6.
0
1


Editiert von bianca: Beispiel ergänzt
Last edited: 2011-08-10 17:51:10 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread use utf8 und Verhalten von String-Operationen