http://www.perlmonks.org?node_id=1035817


in reply to how to print out side of foreach loop($k1 $a{$k1}) ?

You shouldn't use $a as variable. $a and $b are special variables in perl, used to hold results from the sort function.

As stated by others, use the Data::Dumper module for printing hashes.

use Data::Dumper; my %not_a_or_b=(); $not_a_or_b{1}{"a"}{"A"}="FIRST"; $not_a_or_b{1}{"c"}{"B"}="THIRD"; $not_a_or_b{1}{"b"}{"C"}="SECOND"; foreach my $k1 ( sort keys %not_a_or_b ) { foreach my $k2 ( sort keys %{$not_a_or_b{$k1}} ) { foreach my $k3 ( sort keys %{$not_a_or_b{$k1}{$k2}} ) { print "$not_a_or_b{$k1}{$k2}{$k3}\n"; } } } print Dumper(\%not_aor_b);

Anne