Le hash ne garantie rien en ce qui concerne l'ordre dans le quel il va
retourner les données. On peut le trier au moment ou
l'on va ressortir les données. Le module tie::SortHash a une
autre approche du problème : il permet de garder la table triée
à tous moment.
use Tie::SortHash;
my %alpha;
my %number;
tie(%alpha,'Tie::SortHash') or die $!;
tie(%number,'Tie::SortHash') or die $!;
%alpha = ( 'xavier' => 1,
'jean' => 1,
'annie' => 1);
%number = (
1 => 'un',
3 => 'trois',
2 => 'deux');
while(my($key,$value) = each(%alpha)) {
print "$key => $value\n";
}
while(my($key,$value) = each(%number)) {
print "$key => $value\n";
}