Beat: Array of Hash

Beitrag lesen

my @AoH = (

{
            server     => "fred",
            type   => "slow",
            size   => "10",
        },
        {
            server     => "fred",
            type   => "middle",
            size   => "50",
        },
        {
            server     => "fred",
            type   => "middle",
            size   => "50",
        },
        {
            server     => "hans",
            type   => "fast",
            size   => "80",
        }
  );


>   
> Nun will ich alle sizes vom selben server mit derselbem typ zusammenzählen und in ein neues AoH überführen und weiss nicht, wie ich das am geschicktesten machen soll.  
  
Ich kenne keinen Einwegschritt von einem AoH zu einem AoH  
Ich kenne einen Einwegschritt von einem AoH zu einem HoH  
Aus dem HoH lässt sich dann der neue AoH ableiten.  
  
#mit HoH  
my %HoH;  
foreach( @AoH ){  
 $HoH{ ${$\_}{server} }{ ${$\_}{type} } +=  ${$\_}{size} ;  
}  
#Ausgabe:  
foreach(keys %HoH){  
    foreach my $i( keys %{ $HoH{$\_} } ){  
      print "server:", $\_, ", type:", $i, ", size:", $HoH{$\_}{$i}, "\n";  
    }  
}  
  
  
mfg Beat

-- 
Woran ich arbeite:  
[X-Torah](http://www.elcappuccino.ch/cgi/tok.pl?extern=1-pub-com3306-1)  

><o(((°>           ><o(((°>  

   <°)))o><                     ><o(((°>o