gpt4 book ai didi

散列解引用的 Perl 散列

转载 作者:行者123 更新时间:2023-12-05 00:56:37 26 4
gpt4 key购买 nike

我只是在学习 perl。

我正在尝试使用临时变量重写这个多级循环,以便我不需要以前的键( $key1 $key2 )来访问(取消引用)到 $key3 .这样做的最简单方法是什么。谢谢。

for my $key1 ( keys %foo )
{
for my $key2 ( keys %{$foo{$key1}} )
{
for my $key3 ( keys %{$foo{$key1}{$key2}} )

最佳答案

您可以使用 whileeach像这样:

while (my ($key1, $inner_hash) = each %foo) {

while (my ($key2, $inner_inner_hash) = each %$inner_hash) {

while (my ($key3, $value) = each %$inner_inner_hash) {
print $value;
}
}
}

这种方法使用的内存少于 foreach keys %hash ,它会在您开始迭代之前构造哈希中所有键的列表。 each 的缺点是您不能指定排序顺序。见 documentation详情。

关于散列解引用的 Perl 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com