#!/usr/bin/perl -w use strict; my %value; for (){ chomp; $value{$_}++ if $_; } my $max = (sort map { $value{$_} } keys %value)[-1]; for my $count (1..$max){ for (sort keys %value){ print "$_\n" if $value{$_} >= $count; } } __DATA__ 2 2 2 3 3 3 4 4 4 #### for my $count (reverse 1..$max){