in reply to (jeffa) Re: Finding most popular order in a multidimensional associative array
in thread Finding most popular order in a multidimensional associative array

Thank you so very much! One additional question though. What would be the easiest way to list only the top "X" number of the most popular items?
  • Comment on Re: (jeffa) Re: Finding most popular order in a multidimensional associative array

Replies are listed 'Best First'.
(jeffa) 3Re: Finding most popular order in a multidimensional associative array
by jeffa (Bishop) on Aug 05, 2002 at 01:05 UTC
    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)
    
      Nope, it's not homework! Just a network admin struggling with a programming task. I sure do appreciate the assistance though. Sites like this make me want to find sites where I can go and help people out using my expertise like you have done for me.

      Thanks again.