Les hachages sont conçus pour être accessibles par touche, et non par valeur. Vous avez besoin de faire une boucle sur une liste de clés, et non des valeurs.
Ensuite, vous pouvez utiliser les touches pour accéder aux valeurs associées.
Vous ne devez pas utiliser map comme une boucle de déclaration. Utiliser un for boucle à la place. E. g. print "$_..." for keys %hash. C'est une solution simple - print map { "$_\t$hash{$_}\n" } keys %hash; 🙂 pour keys %hash est encore plus simple. Ou même say "$_\t$hash{$_}" for keys %hash. Mais je parlais de la plus petite variation de ce s0me0ne avait à l'origine 🙂
Essayer avec:
OriginalL'auteur DarkAjax
Les hachages sont conçus pour être accessibles par touche, et non par valeur. Vous avez besoin de faire une boucle sur une liste de clés, et non des valeurs.
Ensuite, vous pouvez utiliser les touches pour accéder aux valeurs associées.
OriginalL'auteur Quentin
OriginalL'auteur mmertel
One-liner:
map
comme une boucle de déclaration. Utiliser unfor
boucle à la place. E. g.print "$_..." for keys %hash
.C'est une solution simple -
print map { "$_\t$hash{$_}\n" } keys %hash;
🙂pour keys %hash est encore plus simple.
Ou même
say "$_\t$hash{$_}" for keys %hash
. Mais je parlais de la plus petite variation de ce s0me0ne avait à l'origine 🙂OriginalL'auteur s0me0ne
Je serais probablement utiliser tout et chaque si vous voulez parcourir les clés et les valeurs:
OriginalL'auteur Dimitar Petrov
si vous souhaitez y avoir accès par des valeurs, puis de définir votre hachage comme
Avis vous pouvez obtenir la clé de la valeur par le second membre de la valeur de tableau.
OriginalL'auteur michael501