如何申报AoHoAoH?

San*_*ing 0 arrays perl hash perl-data-structures

我有这个输出 Dumper

'group' => {
             '1104' => {
                         'a' => 1
                       },
             '52202' => {
                          'b' => 1,
                          'c' => 1
                        },
             '52201' => {
                          'c' => 1
                        },
             '52200' => {
                          'c' => 1
                        }
           },
Run Code Online (Sandbox Code Playgroud)

我假设是哈希数组哈希?

我想宣布这个结构是我自己的.

有没有办法做到这一点,所以下次我看到这么复杂的结构时,我可以立刻做到这一点?=)

Tim*_*Tim 11

您的输出是哈希散列的散列,第一个散列仅包含单个元素.该{}标记的哈希引用,所以你重复你的数据结构,因此,其中得到的$hohoh是一个refrence到HoHoH.

my $hohoh = {
    'group' => {
         '1104' => {
                     'a' => 1
                   },
         '52202' => {
                      'b' => 1,
                      'c' => 1
                    },
         '52201' => {
                      'c' => 1
                    },
         '52200' => {
                      'c' => 1
                    }
       },
};
print $hohoh->{group}{1104}{a}; # -> 1
Run Code Online (Sandbox Code Playgroud)

我建议阅读Perl Datastructures Cookbook.

  • @Zaid:第一个哈希键:'group',第二个哈希键:'1104',第三个哈希键:'a',第三个哈希值:1.你可能会混淆第一个哈希"图层"只有一个元素. (3认同)