my @array=qw(1 3 3 3 3 3 2 2 2 2 2 2 4 4);
my %counts=();
map {$counts{$_}++} @array;
print Dumper(%counts);
производит:
$VAR1 = '4';
$VAR2 = 2;
$VAR3 = '1';
$VAR4 = 1;
$VAR5 = '3';
$VAR6 = 5;
$VAR7 = '2';
$VAR8 = 6;
Как упорядочить выходные данные в порядке убывания, чтобы наиболее часто появляющиеся были первыми?(Вывод не обязательно должен быть хешем):
$VAR1 = '2';
$VAR2 = 6;
$VAR3 = '3';
$VAR4 = 5;
$VAR5 = '4';
$VAR6 = 2;
$VAR7 = '1';
$VAR8 = 1;