my %unique_counts = do{ local %_; $_{$_}++ for(@array1, @array2, @array3); %_; }; dump_ref(\%unique_counts, '%unique_counts'); __OUTPUT__ %unique_counts = { '1' => 1, '2' => 1, '3' => 1, '4' => 1, '5' => 1, '6' => 1, '7' => 1, '8' => 1, '9' => 1, '10' => 2, '11' => 2, '12' => 2, '13' => 2, '14' => 2, '15' => 2, '16' => 2, '17' => 2, '18' => 2, '19' => 3, '20' => 3, '21' => 2, '22' => 2, '23' => 2, '24' => 2, '25' => 2, '26' => 2, '27' => 2, '28' => 2, '29' => 2, '30' => 2, '31' => 1, '32' => 1, '33' => 1, '34' => 1, '35' => 1, '36' => 1, '37' => 1, '38' => 1, '39' => 1, '40' => 1 }