Thread Hash mit Umlauten sortieren (7 answers)
Opened by user123 at 2011-12-09 08:48

user123
 2011-12-09 08:48
#154749 #154749
User since
2010-10-12
21 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

gibt es in Perl Möglichkeiten einen Hash mit Texten ordentlich unter Einbeziehung von Umlauten zu sortieren?

Ich bekomme aus der Datenbank jeweils den Key und den dazugehörigen Text in einen Hash geschrieben:
Beispiel %Texte gibt dann aus:
Code (perl): (dl )
1
2
3
4
5
6
$VAR1 = 'key1';
$VAR2 = 'Affe';
$VAR3 = 'key2';
$VAR4 = 'Äffchen';
$VAR5 = 'key3';
$VAR6 = 'Affen';

Dies durchlaufe sortiere ich mit:
Code (perl): (dl )
1
2
3
foreach my $key (sort {lc($Texte{$a}) cmp lc($Texte{$b})} keys %Texte) {
...
}

Nach dieser Sortierung bekomme ich aber alle "Ä" erst nach dem letzten "A" einsortiert. Er sieht das also als extra Buchstaben an. Ich möchte es aber das in diesem Beispiel "Äffchen" an erster Stelle stehen würde nach der Sortierung.
Hat damit schon mal jemand Erfahrungen gemacht oder vielleicht sogar Lösungsansätze?
Ich hab diesen Fall zwar mal in Javascript gehabt, konnte es dort aber wunderbar lösen indem ich der sort Funktion einen Comparator mitgegeben habe. Gibt es diese Möglichkeit vielleicht auch in Perl?

Danke

View full thread Hash mit Umlauten sortieren