my %temp = ( "0x55555555" => { "0x55555555" => [ ["0xAAAAAAAA", "0x9"], ], "0xAAAAAAAA" => [ ["0xAAAAAAAA", "0x8"], ], }, "0xAAAAAAAA" => { "0x55555555" => [ ["0xFFFFFFFF", "0x8"], ], "0xAAAAAAAA" => [ ["0x55555554", "0x3"], ], }, ); my $var = \%temp; #### { # ref to hash: $var '0xAAAAAAAA' => # key of hash, string: +(keys %{$var})[0] { # ref to hash: $var->{'0xAAAAAAAA'} '0xAAAAAAAA' => # key of hash, string: +(keys %{$var->{'0xAAAAAAAA'}})[0] [ # ref to array: $var->{'0xAAAAAAAA'}->{'0xAAAAAAAA'} [ # ref to array: $var->{'0xAAAAAAAA'}->{'0xAAAAAAAA'}->[0] '0x55555554', # scalar: $var->{'0xAAAAAAAA'}->{'0xAAAAAAAA'}->[0]->[0] '0x3', # scalar: $var->{'0xAAAAAAAA'}->{'0xAAAAAAAA'}->[0]->[1] ] ] '0x55555555' => # key of hash, string: +(keys %{$var->{'0xAAAAAAAA'}})[1] [ # ref to array: $var->{'0xAAAAAAAA'}->{'0x55555555'} [ # ref to array: $var->{'0xAAAAAAAA'}->{'0x55555555'}->[0] '0xFFFFFFFF', # scalar: $var->{'0xAAAAAAAA'}->{'0x55555555'}->[0]->[0] '0x8', # scalar: $var->{'0xAAAAAAAA'}->{'0x55555555'}->[0]->[1] ] ] } '0x55555555' => # key of hash, string: +(keys %{$var})[1] { # ref to hash: $var->{'0x55555555'} '0xAAAAAAAA' => # key of hash, string: +(keys %{$var->{'0x55555555'}})[0] [ # ref to array: $var->{'0x55555555'}->{'0xAAAAAAAA'} [ # ref to array: $var->{'0x55555555'}->{'0xAAAAAAAA'}->[0] '0xAAAAAAAA', # scalar: $var->{'0x55555555'}->{'0xAAAAAAAA'}->[0]->[0] '0x8', # scalar: $var->{'0x55555555'}->{'0xAAAAAAAA'}->[0]->[1] ] ] '0x55555555' => # key of hash, string: +(keys %{$var->{'0x55555555'}})[1] [ # ref to array: $var->{'0x55555555'}->{'0x55555555'} [ # ref to array: $var->{'0x55555555'}->{'0x55555555'}->[0] '0xAAAAAAAA', # scalar: $var->{'0x55555555'}->{'0x55555555'}->[0]->[0] '0x9', # scalar: $var->{'0x55555555'}->{'0x55555555'}->[0]->[1] ] ] } } #### print +(keys %{$var->{'0xAAAAAAAA'}})[1], "\n"; print $var->{'0x55555555'}->{'0xAAAAAAAA'}->[0]->[0], "\n"; print Dumper( $var->{'0x55555555'}->{'0x55555555'} ); gives you 0x55555555 0xAAAAAAAA $VAR1 = [ [ '0xAAAAAAAA', '0x9' ] ];