use strict; use warnings; my @nums = (17, 10, 20, 33, 30, 40, 10, 33, 40, 15, 16, 17); my %values; ++$values{$_} for @nums; print join "\n", map{"$_: $values{$_}"} sort {$a <=> $b} keys %values;