An excellent piece of detective work :-)
So just grabbing the key alone and pulling the value manually will work.
knoppix@Microknoppix:~$ perl -Mstrict -wE ' my %hash = ( one => q{ein}, two => q{zwei}, six => q{sechs}, ); say qq{@{ [ %hash ] }}; for ( 1 .. 9 ) { my $k = each %hash || each %hash; say qq{$_: $k => $hash{ $k }}; }' six sechs one ein two zwei 1: six => sechs 2: one => ein 3: two => zwei 4: six => sechs 5: one => ein 6: two => zwei 7: six => sechs 8: one => ein 9: two => zwei knoppix@Microknoppix:~$
Thanks for clearing up the mystery.
Update: Apologies to duelafn, I didn't see his post before making this essentially identical reply.
Cheers,
JohnGG
In reply to Re^6: Using 'each' to get random (key, value) pair from hash returns "uninitialized value"
by johngg
in thread Using 'each' to get random (key, value) pair from hash returns "uninitialized value"
by puterboy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |