Arrays 在Perl中解析hoaooh
我是Perl新手,对哈希有一点了解。我有一个hash数组的hash数组的hash数组的hash数组的hash,如下所示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
%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面向对象编程教程。