http://qs321.pair.com?node_id=1029445


in reply to How to access Hash of hashes with multi-dimensional Array

If you have a problem figuring out how to deal with data structures, run the program in the perl debugger, then figure out bits one elevel at a time. I used a simpler structure than yours, cause copying it was work. ( -d is the debugger flag. if you don't specify a file, you need to specify an immediate expression, -e. 'mo' is meaningless garbage which generates an error, but makes for a useful mnemonic)

legrady$ perl -demo Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(-e:1): mo DB<1> %temp = ( '0x55555555' => { '0x55555555' => [["0xAAAAAAAA", "0 +x9"]]}); DB<2> x \%temp 0 HASH(0x7fa2811ab830) '0x55555555' => HASH(0x7fa2811ab920) '0x55555555' => ARRAY(0x7fa2811ab8d8) 0 ARRAY(0x7fa281028b78) 0 '0xAAAAAAAA' 1 '0x9' DB<3> x $temp{'0x55555555'} 0 HASH(0x7fa2811ab920) '0x55555555' => ARRAY(0x7fa2811ab8d8) 0 ARRAY(0x7fa281028b78) 0 '0xAAAAAAAA' 1 '0x9' DB<4> x $temp{'0x55555555'}{'0x55555555'} 0 ARRAY(0x7fa2811ab8d8) 0 ARRAY(0x7fa281028b78) 0 '0xAAAAAAAA' 1 '0x9' DB<5> x $temp{'0x55555555'}{'0x55555555'}[0] 0 ARRAY(0x7fa281028b78) 0 '0xAAAAAAAA' 1 '0x9' DB<6> x $temp{'0x55555555'}{'0x55555555'}[0][0] 0 '0xAAAAAAAA' DB<7> x $temp{'0x55555555'}{'0x55555555'}[0][1] 0 '0x9' DB<8> q

As Occam said: Entia non sunt multiplicanda praeter necessitatem.