Arrays 在Perl中解析hoaooh

Arrays 在Perl中解析hoaooh,arrays,perl,hash,hash-of-hashes,Arrays,Perl,Hash,Hash Of Hashes,我是Perl新手,对哈希有一点了解。我有一个hash数组的hash数组的hash数组的hash数组的hash,如下所示 %my_hash = ( key00 => 'value00', key01 => [ { key10 => 'value10', key11 => 'value11', key12 => [ { key20 => 'value2

我是Perl新手,对哈希有一点了解。我有一个hash数组的hash数组的hash数组的hash数组的hash,如下所示

%my_hash = (
    key00 => 'value00',
    key01 => [
        {  key10 => 'value10',
           key11 => 'value11',
           key12 => [
               {   key20  => 'value20',
                   key21  => 'value21',
                   key22  => [
                       {   key30  => 'value30',
                           key31    => [
                               { color => 'blue',  quantity => 10, boxes => [0,1,3] },
                               { color => 'red',   quantity => 2,  boxes => [2,3]   },
                               { color => 'green', quantity => 5,  boxes => [0]     },
                           ],
                       },
                   ],
               },
           ]
        }
    ]
);

获取颜色、数量和盒子的最简单方法是什么?我还需要对quantitys进行算术运算,比如10+2+5 quantity0+quantity1+quantity2。这看起来很像XY问题。你想解决什么问题

您可以访问数据结构的元素,如下所示:

print $my_hash{key01}[0]{key12}[0]{key22}[0]{key31}[0]{color},"\n";
您还可以使用以下命令迭代底部元素:

foreach my $something ( @{ $my_hash{key01}[0]{key12}[0]{key22}[0]{key31} } ) {
   print $something->{'color'};
   print $something->{'quantity'}
}

但这看起来并不是一个真正的问题——你到底想完成什么?我可能猜您正在尝试解析XML或类似的内容,在这种情况下,几乎可以肯定有更好的方法

谢谢,这是给我的一个配置文件,我需要对它进行解析,以便获取最内部数组中的元素。这是配置文件的格式吗?因为那是一场火车失事,你真的应该试着劝阻人们不要做那种肮脏的事。很不幸,是的。它甚至不在我的手中当您开始使用嵌套的数据结构时,应该考虑使用对象。看看官方的Perl面向对象编程教程。