for ($i=0; $i<=$#players; $i++) { my %player = %{$players[$i]}; for ($ii=0;$ii<=$#players;$ii++) { if ($i != $ii) { my %player2 = %{$players[$ii]}; if ($player{name} eq $player2{name}) { $player{deaths} += $player2{deaths}; $player{kills} += $player2{kills}; #Remove the dupe entry splice(@players, $ii, 1); } } } }