in reply to hash of complex records example

print "%_\n";
I think your code is really:
print "$_\n";

Use keys:

foreach (keys %TV ) { print "$_\n"; }

Use sort if you want the output order to be predictable ( perldsc).

foreach (sort keys %TV ) { print "$_\n"; }

Replies are listed 'Best First'.
Re^2: hash of complex records example
by simmisam (Novice) on Jan 09, 2014 at 06:01 UTC

    If you want to understand properly, divide the parsing into small steps. Make use of above reply by toolic. Below is the full parser for hash %TV

    foreach my $k1 (keys %TV ) { print "\n# Hash Key = $k1\n"; # flintstones, jetsons, simpsons foreach my $v1 ($TV{$k1}) { foreach my $k2 (keys %$v1) { print "## Hash Hash key = $k2\n"; # series, nights, member +s if(ref($$v1{$k2}) eq 'ARRAY') { foreach my $h (@{$$v1{$k2}}) { if (ref($h) eq 'HASH') { foreach my $k3 (keys %$h) { print "$k3 => $$h{$k3}\n"; # member detail +s } } else { print "$h\n"; # night values } } } else { print "$$v1{$k2}\n"; # series value } } } }

      Thanks! The "keys" part is what I was missing. The "%_" was just a typo in the original post.