my @one_d = ( (1,2,3), (4,5,6), (7,8,9) ); #### my @two_d = ( [1,2,3], [4,5,6], [7,8,9] ); #### my $two_d = [ [1,2,3], [4,5,6], [7,8,9] ]; #### print Dumper \@AoH; __END__ (it's an AoHoH ... not an AoHoAoH) $VAR1 = [ { 'page' => { 'paragraph' => 'lesson1' }, 'chapter' => 'Basic', 'HASH(0x8638dec)' => undef }, { 'HASH(0x86fee04)' => undef, 'page' => { 'paragraph' => 'lesson3' }, 'chapter' => 'Advanced' } ];