in reply to 'Multi-Dimensional' Hash

but for some reason this results as an infinite loop,

This has nothing to do with multi-level hashes. Something (keys, values or each) in the loop (in ...) must be reseting the %$fruits_xml's iterator.

my %h = qw( a 1 b 2 c 3 d 4 ); for (1..2) { my $i = 0; while (my ($key) = each %h) { print $key; keys(%h) if $_ == 2; # Reset %h's iterator in second test. last if ++$i == 10; # Break out of infinite loop. } print("\n"); }
$ perl a.pl cabd cccccccccc

Replies are listed 'Best First'.
Re^2: 'Multi-Dimensional' Hash
by Trihedralguy (Pilgrim) on Oct 21, 2009 at 12:26 UTC
    Is this common to have to do it this way?
    I'll grab my example code when I get home again and have another look.
      The code demonstrates what you are doing wrong, so your question doesn't make sense to me.