foreach my $dir (@{$dirs}) { decode($dir.".data.json",%data); # will change name my $final_href = { data => { ( %{$final_href->{data} },%{ $data{data} } ) }, total => do { my %total; for my $href ( $final_href->{total}, $data{total} ) { $total{$_} += $href->{total}{$_} for keys %{ $href->{total} }; } \%total; } };