Cada hash es una estructura de datos que contiene un iterador privado.
Esto permite el anidamiento
de bucles each, siempre que esten iterando sobre hashes diferentes.
El iterador es reinicializado automáticamente en las siguientes circunstancias:
keys
o values sobre el hash.
Por ejemplo:
nereida:~/src/perl/YappWithDefaultAction/lib/Parse/Eyapp> perl -wde 0 main::(-e:1): 0 DB<1> %a = (juan=>5, pedro=>0, marta=>10) DB<2> $n = each %a; print $n pedro DB<3> $n = each %a; print $n marta DB<4> @b = keys %a; $n = each %a; print $n pedro
each ha iterado
sobre todos los elementos del mismo, alcanzando el final del hash.
lhp@nereida:~/public_html/cgi-bin/tt$ perl -wde 0
main::(-e:1): 0
DB<1> %a = (juan=>5, pedro=>0, marta=>10)
DB<2> $n = each %a; print $n
pedro
DB<3> @a{juan,marta} = (2,3)
DB<4> $n = each %a; print $n
marta
DB<5> x %a
0 'pedro'
1 0
2 'marta'
3 3
4 'juan'
5 2
Casiano Rodríguez León
