my $rows = ...; # ref to AoH my %ips; foreach my $row (@$rows){ $ips{ $row->{colIP} }->{ colPartitionSize } += $row->{colPartitionSize}; $ips{ $row->{colIP} }->{ colPartitionFree } += $row->{colPartitionFree}; } print Dumper \%ips;