How Do I Sort A Hash By The Hash Value

  • 21 Feb, 2012

    Here's a program that prints the contents of the grades hash, sorted numerically by the hash value:#!/usr/bin/perl -w# Help sort a hash by the hash 'value', not the 'key'. to highest).sub hashValueAscendingNum { $grades{$a} <=> $grades{$b};}# Help sort a hash by the hash 'value', not the 'key'. # Values are returned in descending numeric order # (highest to lowest).sub hashValueDescendingNum { $grades{$b} <=> $grades{$a};}%grades = ( student1 => 90, student2 => 75, student3 => 96, student4 => 55, student5 => 76,);print "ntGRADES IN ASCENDING NUMERIC ORDER:n";foreach $key (sort hashValueAscendingNum (keys(%grades))) { print "tt$grades{$key} tt $keyn";}print "ntGRADES IN DESCENDING NUMERIC ORDER:n";foreach $key (sort hashValueDescendingNum (keys(%grades))) { print "tt$grades{$key} tt $keyn";}

    Comments Received:
    Please give your suggestions and feedback:

2009-2016 All rights reserved.