Hey ... this isn't homework is it? ;)
A for loop works on a list. The inner for loop iterates
on the sorted keys of the hash %counted, what we could do
is specify a subscript for that list. First, a simple
example:
use strict;
my @array = (0..999);
# retrieve only the first 10 elements:
my @top_ten = @array[0..9];
print "$_\n" for @top_ten;
So, if we want to only display the top 3 most popular
items, we could do this:
# ... original code
for ((sort { $counted{$b} <=> $counted{$a} } keys %counted)[0..2]) {
# ... etc.
}
If you want to avoid hard-coding the number, be sure and
subtract 1, or start the subscript at 1:
# pick one:
my $max = 2; # use [0..$max]
my $max = 3; # use [1..$max] or [0..$max-1]
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
|