Matti Mäkitalo: Perl Hashes sortieren

Beitrag lesen

Hi,

müsste ich es nicht so schreiben, damit ich nach den total_bytes sortiere (5. Spalte)?:
my @sortedkeys = sort { $a->[4] <=> $b->[4] } keys %ip;

$a und $b sind jeweils Einträge aus deinem Hash. In deinem Hash hat %ip nur einen Eintrag, da ist also nichts zu sortieren. Du willst also nur einen Unterhash sortieren. Vielleicht extrahierst du den mal und gehst das Thema dann mal Schritt für Schritt durch.

Was mache ich dann mit dem erhaltenen array, Wenn ich meine Liste sortiert ausgeben möchte?
foreach(@sortedkeys){ ??? }

In der Schleife kannst du entsprechend auf das Hash-Element mit dem Index $_ zugreifen. Das nächste Element ist also $ip{$_}. Wenn du einen Unter-Hash sortieren willst, dann musst du das dann innerhalb der Schleife tun.

Bis die Tage,
Matti