in reply to Sorting by the value of the inner hash

Sorry, I copy-paste the wrong subroutine
sub by_score { $totalscoreinv{$keyscore}{$b}<=>$totalscoreinv{$keyscore}{$a}; }

Replies are listed 'Best First'.
Re: Re: Sorting by the value of the inner hash
by matija (Priest) on Mar 31, 2004 at 06:49 UTC
    Well, without your either:
    1. Posting the whole relevant section of your new code or
    2. Telling us exactly how it's not working
    It's hard for any of us to help you.
      1. Modified code
      $totalscoreinv{$key1}{key2}= $totalscore; foreach $keyscore (keys %totalscoreinv){ print OUT "\n\nFirst key:$keyscore\n"; foreach my $keyscore2 (sort by_score keys %{$totalscoreinv{$keyscore +}}){ printf(OUT "%30s %s\n", "$keyscore2= ", "$totalscoreinv{$keyscore} +{$keyscore2}"); } } sub by_score { $totalscoreinv{$keyscore}{$b}<=>$totalscoreinv{$keyscore}{$a}; }
      2. well..as simple as it is not sorting at all. Here an excerpt of my results
      First key:700200 ----------------------------------------------------------- 523261= -509.711586526694 523237= -494.393864137596 523246= -438.024029240629 523424= -521.488541326437 523247= -470.547762535975
      Thanks
      I moved it to the inner loop, and still it is not working. Thanks