darkmonkey, what you have is wrong, it's a hash of hashes, not an array of hashes as he asked.
An array of hashes really has to be an array of hash references, since arrays can only store scalars. For a simple sort, you'll need to pick a key in the hash to sort on (although, you can do very complicated sorts if you want). Depending on what the type of the field is (string or number), you use different operators. So, for a string, you would use something like:
my @sorted = sort { $a->{'key'} cmp $b->{'key'} } @array;
For a numeric sort:
my @sorted = sort { $a->{'key'} <=> $b->{'key'} } @array;
$a and $b are elements in the array, which in this case are hash references. You can switch the order of $a and $b to do a reverse sort.