2dimensionale Hashes nach Wert sortieren
Petra
- perl
Hallo miteinander!
Wenn ich beim Simpson Hashes of Hashes-Beispiel in perldoc perldsc nicht
nach dem Rang der Rollen, sondern alphabetisch nach dem Familienmitgliedern sortieren
moechte, wie mache ich das?
(Mein Problem ist ein bisschen anders, aber analog dazu.)
Viele Gruesse nach Deutschland!
Petra
Hallo Petra,
Wenn ich beim Simpson Hashes of Hashes-Beispiel in perldoc perldsc nicht
nach dem Rang der Rollen, sondern alphabetisch nach dem Familienmitgliedern sortieren
moechte, wie mache ich das?
Du kannst sort eine Vergleichsfunktion übergeben die es benutzen soll um die Sotierung festzulegen. $a wird hierbei mit $b verglichen und je nachdem ob die Funktion -1, 1 zurückgibt $a vor oder nach $b einsotiert (Rückgabewert 0 steht für "ist gleich" und sollte im Falle eines stabilen Algorithmuses die Reihenfolge nicht verändern).
In deinem Beispiel also:
for $who ( sort { $a->{name} cmp $b->{name} } @{ $TV{$family}{members} } ) {
print " $who->{name} ($who->{role}), age $who->{age}\n";
}
Viele Gruesse nach Deutschland!
Grüße in die Staaten,
Peter