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:
$VAR1 = 'key1';
$VAR2 = 'Affe';
$VAR3 = 'key2';
$VAR4 = 'Äffchen';
$VAR5 = 'key3';
$VAR6 = 'Affen';
Dies durchlaufe sortiere ich mit:
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