如何在Perl中迭代Hash(Hashes)? [英] How to iterate through Hash (of Hashes) in Perl?
本文介绍了如何在Perl中迭代Hash(Hashes)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有Hash,其中的键值是其他哈希。
I have Hash where values of keys are other Hashes.
示例: {'key'=> {'key2'=> {'key3'=> 'value'}}}
如何迭代这个结构?
How can I iterate through this structure?
推荐答案
这是你想要的吗? (未经测试)
Is this what you want? (untested)
sub for_hash {
my ($hash, $fn) = @_;
while (my ($key, $value) = each %$hash) {
if ('HASH' eq ref $value) {
for_hash $value, $fn;
}
else {
$fn->($value);
}
}
}
my $example = {'key' => {'key2' => {'key3' => 'value'}}};
for_hash $example, sub {
my ($value) = @_;
# Do something with $value...
};
这篇关于如何在Perl中迭代Hash(Hashes)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文