gpt4 book ai didi

perl - 在 Perl 中,如何从哈希引用数组中的引用访问值?

转载 作者:行者123 更新时间:2023-12-04 22:38:16 30 4
gpt4 key购买 nike

我有一组对匿名哈希的引用。从对该数组的引用,$allDirArray ,我想访问key对应的值'dir' .目前我收到错误:

Can't use string ("HASH(0x100878050)") as a HASH ref while "strict refs" in use at nameOfProgram.pl line 148.

My code:

my $tempDir = ${$allDirArray}[$i]{'dir'};

最佳答案

该错误消息表明您实际上是在尝试使用字符串“HASH(0x100878050)”作为哈希引用。所以我怀疑您以某种方式设法将您的哈希字符串化(即,您将它们用作字符串,而 Perl 将它们转换为字符串)。发生这种情况的一种方法是,如果您将 hashref 分配给哈希键(哈希键只能是字符串),或者通过在这样的赋值中引用变量 $array[0] = "$hashref" .

所以里面${$allDirArray}[$i]是一个包含“HASH(0x100878050)”的字符串,字面意思是,在一个字符串中。不是哈希。

确认这可能是转储数据结构的最佳选择。你可以用 Data::Dumper 来做到这一点:

use Data::Dumper;
print Dumper($allDirArray);

关于perl - 在 Perl 中,如何从哈希引用数组中的引用访问值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627945/

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