my ($key2,$item,$hash,$array); my %temp = ( "0x55555555" => { "0x55555555" => [ ["0xAAAAAAAA", "0x9"], ], "0xAAAAAAAA" => [ ["0xAAAAAAAA", "0x8"], ], }, "0xAAAAAAAA" => { "0x55555555" => [ ["0xFFFFFFFF", "0x8"], ], "0xAAAAAAAA" => [ ["0x55555554", "0x3"], ], }, ); foreach $item (keys %temp) { print "$item: \n"; my $hash = $temp->{$item}; foreach $key2 (keys %$hash){ my $array = $hash->{$key2}; for $i (0..$#$array){ print "$i: $$array[$i]\n"; } } } #### 0xAAAAAAAA: 0x55555555: