Beloved Monks,
The quest of a newbie into Perl realms is dangerous and adventurous. I am seeking knowledge from the elders regarding on how can I sort a hash permanently (for example by sorting its keys).
Example:
use strict; my %foo = (1 => 'value1',2 => 'value2',3 => 'value3');
Every time I want to print the hash values sorted by their keys, I have do this:
print "$foo{$_}\n" foreach sort {$a <=> $b} keys %foo;
Instead of repeating the sorting, I want to write a subroutine that will permanently sort the hash.
sub sort_hash { my %hash = @_; #do the sorting part here, please help :) return %hash; } my %foo_sorted = sort_hash(%foo); print "$foo_sorted{$_}\n" foreach keys %foo_sorted;
The last print should produce the same results as the first print.
Bless me with your knowledge!
In reply to Permanently sort a hash by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |