DEVFYI - Developer Resource - FYI

How do I sort a hash by the hash key?

Perl Questions and Answers


(Continued from previous question...)

How do I sort a hash by the hash key?

Suppose we have a class of five students. 
Their names are kim, al, rocky, chrisy, and jane.

Here's a test program that prints the contents 
of the grades hash, sorted by student name:

#!/usr/bin/perl -w

%grades = (
	kim       => 96,
	al        => 63,
	rocky     => 87,
	chrisy    => 96,
	jane      => 79,
);

print "\n\tGRADES SORTED BY STUDENT NAME:\n";
foreach $key (sort (keys(%grades))) {
   print "\t\t$key \t\t$grades{$key}\n";
}


The output of this program looks like this:


	GRADES SORTED BY STUDENT NAME:
		al 		63
		chrisy 		96
		jane 		79
		kim 		96
		rocky 		87



}

(Continued on next question...)

Other Interview Questions