sub occurence { my %count; $count{$_}++ for @_; return sort { $count{$b} <=> $count{$a} } keys %count; } print "$_\n" for occurence qw(1 1 1 2 2 3 4 4 4 4);