wenn du sehr viele Elemente hast, koennte es vielleicht schneller sein, das ueber eine Schwartzian Transform zu loesen... siehe meine HP unter Perl -> Sortierungen.
my @sorted =
map { $_->[1] }
sort { $a->[0] cmp $b->[0] }
map { [ lc($_->{name} ), $_ ] }
@unsorted;
von unten nach oben lesen:
map: Aus @unsorted wird ein zweidimensionales array gemacht:
element1 ist das Sortierkriterium, element2 ist der originalwert
sort: vergleiche die ersten Elemente des Arrays. da hier nichts mehr umgewandelt werden muss (z.B. lc), geht der Vergleich der jeweiligen vergleichskriterien schneller
map: der Originalstring wird zurueckgegeben.
Das kann - oder auch nicht - schneller sein.