foreach $i (keys %hash) { print "i=$i\n"; foreach $j (keys %{$hash{$i}} ) { @content = $hash{$i}->{$j}; #print "\tvalname=$j content=$$hash{$i}->{$j}[1] \n"; print "\tj=$j val=$hash{$i}->{$j}[0] type=$hash{$i}->{$j}[1] flag=$hash{$i}->{$j}[2] \n"; print "$content[0] $content[1] $content[2]\n"; } }