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ß