Petra: 2dimensionale Hashes nach Wert sortieren

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

  1. 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