my ($count,%lines); while(<>) { $count++; $lines{$_}++; } print scalar(keys %lines), " unique lines seen\n"; print "$count total lines\n"; while ( my ($l, $c) = each %lines ) { for (1 .. $c) { print "$l\n"; } }