Mark: Perl Hashes sortieren

Beitrag lesen

Hi,

Ok, dann müsste ich die Daten in ein Array schreiben? Wie würde das aussehen, wenn ich die Ordnung beibehalten möchte?

Es reicht, wenn du einen Array mit den Schlüsseln deines Hashes in der gewünschten Reihenfolge hast. Du kannst also eine Vergleichsoperator auf den Schlüsseln schreiben, der auf deinen Hash zugreift. Beispiel:

my %myhash;

...

my @sortedkeys = sort { $myhash{$a}{blablub} <=> $myhash{$b}{blablub} } keys %myhash;


>   
> Hab lang kein perl mehr programmiert, können also Syntax-Fehler drin sein, aber das Prinzip dürfte klar sein.  
>   
> Bis die Tage,  
> Matti  
  
Hallo,  
  
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;`{:.language-perl}  
  
Was mache ich dann mit dem erhaltenen array, Wenn ich meine Liste sortiert ausgeben möchte?  
  
~~~perl
	  
foreach(@sortedkeys){ ??? }