Mark: Perl Hashes sortieren

Beitrag lesen

Hallo,

das ganze mit foreach durchzurattern ist nicht das Problem:

foreach $key_src_ip (keys %{$ip{"source"}}){  

foreach $key_src_port (keys %{$ip{"source"}{$key_src_ip}}){
foreach $key_dest_ip (keys %{$ip{"source"}{$key_src_ip}{$key_src_port}}){
    foreach $key_dest_port (keys %{$ip{"source"}{$key_src_ip}{$key_src_port}{$key_dest_ip}}){
    }
}
    }
}


>   
> Es stellt sich mir nur die Frage, wie man jetzt in der letzten Spalte  nach dem höchsten Wert sortiert und irgendwie den kompletten Key-Pfad dorthin erhält.  
>   
> Gruß  
  
Noch mal als Anhang ein Dump meines Hashes:  
  
$VAR1 = '10.30.46.5';  
$VAR2 = {  
          '123' => {  
                     '172.16.144.21' => {  
                                          '918' => 34,  
                                          '919' => 78  
                                        }  
                   },  
          'nfs' => {  
                     '172.16.144.21' => {  
                                          '919' => 110  
                                        },  
                     '172.16.144.20' => {  
                                          '919' => 55  
                                        }  
                   }  
        };  
$VAR3 = '10.30.46.2';  
$VAR4 = {  
          'nfs' => {  
                     '172.16.144.20' => {  
                                          '933' => 56  
                                        }  
                   }  
        };  
$VAR5 = '10.30.46.1';  
$VAR6 = {  
          'nfs' => {  
                     '172.16.144.20' => {  
                                          '919' => 1  
                                        }  
                   }  
        };  
$VAR7 = '172.16.144.20';  
$VAR8 = {  
          '51290' => {  
                       '10.30.46.3' => {  
                                         'http-alt' => 1077767  
                                       }  
                     }  
        }  
  
Davon möchte ich z.B. die 2 Verbindungen mit den höchsten Werten haben. Also:  
1\. 172.16.144.20:51290 <-> 10.30.46.3:http-alt 1077767  
2\. 10.30.46.5:nfs      <-> 172.16.144.21:919   110  
  
Gruß