Perl hash table
Bonjour,
j'ai cree une hash table en perl avec une centaine d'elements cependant lorsque je fais l'affichage le compilateur fait comme si les 32 premiers elements n'existaient pas
a quoi c'est dû
voici le code d'affichage et la table
foreach my $k (keys(%status))
{
print "Clef=$kiValeur=$status{$k}\n";
}
"DA" => "D*",
"03" => "Cr*",
"05" => "T*",
"00" => "To*",
"10" => "R*",
"11" => "C*",
"12" => "Pa*",
"13" => "Pa*",
"20" => "Cl*",
"30" => "Cu*",
"31" => "C*",
"32" => "C",
"33" => "C",
"34" => "C",
"35" => "C",
"36" => "C",
"37" => "C",
"38" => "C",
"39" => "C",
"40" => "C",
"41" => "C",
"42" => "R",
"43" => "C",
"44" => "A",
"45" => "C",
"50" => "P",
"51" => "P",
"52" => "P",
"53" => "C",
"54" => "C",
"55" => "C",
"56" => "C",
"57" => "c",
"58" => "c",
"59" => "P",
"60" => "P",
"61" => "P",
"62" => "P",
"63" => "P",
"64" => "P",
"65" => "P",
"66" => "P",
"68" => "S",
"70" => "A",
"71" => "*",
"72" => "*",
"73" => "De*",
"74" => "*",
"75" => "*",
"76" => "*",
"77" => "*",
"78" => "D",
"79" => "De",
"80" => "De",
"81" => "De",
"82" => "De",
"83" => "De",
"84" => "De",
"86" => "Ch",
"87" => "Fo",
"88" => "Go",
"89" => "De",
"90" => "Te",
"91" => "Te",
"92" => "Ins",
"93" => "Col",
"94" => "For",
"95" => "Volr",
"96" => "Rep",
"97" => "Cha"
);
merci par avance
j'ai cree une hash table en perl avec une centaine d'elements cependant lorsque je fais l'affichage le compilateur fait comme si les 32 premiers elements n'existaient pas
a quoi c'est dû
voici le code d'affichage et la table
foreach my $k (keys(%status))
{
print "Clef=$kiValeur=$status{$k}\n";
}
"DA" => "D*",
"03" => "Cr*",
"05" => "T*",
"00" => "To*",
"10" => "R*",
"11" => "C*",
"12" => "Pa*",
"13" => "Pa*",
"20" => "Cl*",
"30" => "Cu*",
"31" => "C*",
"32" => "C",
"33" => "C",
"34" => "C",
"35" => "C",
"36" => "C",
"37" => "C",
"38" => "C",
"39" => "C",
"40" => "C",
"41" => "C",
"42" => "R",
"43" => "C",
"44" => "A",
"45" => "C",
"50" => "P",
"51" => "P",
"52" => "P",
"53" => "C",
"54" => "C",
"55" => "C",
"56" => "C",
"57" => "c",
"58" => "c",
"59" => "P",
"60" => "P",
"61" => "P",
"62" => "P",
"63" => "P",
"64" => "P",
"65" => "P",
"66" => "P",
"68" => "S",
"70" => "A",
"71" => "*",
"72" => "*",
"73" => "De*",
"74" => "*",
"75" => "*",
"76" => "*",
"77" => "*",
"78" => "D",
"79" => "De",
"80" => "De",
"81" => "De",
"82" => "De",
"83" => "De",
"84" => "De",
"86" => "Ch",
"87" => "Fo",
"88" => "Go",
"89" => "De",
"90" => "Te",
"91" => "Te",
"92" => "Ins",
"93" => "Col",
"94" => "For",
"95" => "Volr",
"96" => "Rep",
"97" => "Cha"
);
merci par avance
2 réponses
-
ContributeurSalut,
Tu as fait une petite erreur dans ton code (ajout d'un i malencontreux).
Sinon, dans une table de hachage, il n'y a pas de notions d'ordre.
Et si tu veux trier l'affichage :foreach my $k (sort keys(%status)) { print "Clef=$k Valeur=$status{$k}\n"; }
-
j'avais pas fait de sort donc tous les elements etaient n'importe comment