gpt4 book ai didi

Perl 通过数组列表访问/更改深度哈希

转载 作者:行者123 更新时间:2023-12-01 10:13:14 24 4
gpt4 key购买 nike

我想删除第一个键为 $key[0] 的哈希(任意深度)元素, 第二个键为 $key[1]等等,直到@key完成了。

例如,如果 @key=(23,56,78)然后我想操纵$hash{23}{56}{78} .
我事先不知道有多少元素 @key有。

我一直在尝试使用以下内容:

my %the_path;
my $temp=\%the_path;
for(my $cline=0;$cline<=$#keys;$cline++){
my $cfolder=$keys[$cline];
$temp->{$cfolder}={};
$temp=$temp->{$cfolder};
}

但是,我不确定如何在此处操作该元素。我该怎么做?

最佳答案

Data::Diver正是为了这个目的而存在。

my $last_hash = Data::Diver::Dive( \%hash, @keys[0..$#keys-1] );
if ($last_hash) { delete $last_hash->{ $keys[-1] } }

关于Perl 通过数组列表访问/更改深度哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586946/

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