gpt4 book ai didi

perl - 如何将 perl 哈希字符串引用转换为 perl 哈希引用

转载 作者:行者123 更新时间:2023-12-01 09:50:04 25 4
gpt4 key购买 nike

 HASH(0x991f0dc)

所以上面的哈希引用作为字符串存储在标量变量中,如果我们在它抛出错误的 Perl 程序中用 "%"取消引用它,

Can't use string ("HASH(0x991f0dc)
") as a HASH ref while "strict refs" in use at tcpclient1.pl line 49, <GEN0> line 1

以上是 Perl 程序的抛出,我请求解决方案,将哈希字符串引用转换回 Perl 哈希引用。

最佳答案

您无法将此转换回来

HASH(0x991f0dc) 不是哈希引用。它是变量的字符串表示形式,其中包含对该地址处哈希的引用。您在取消引用时描述的错误消息指出您有类似的内容:

my $foo = 'HASH(0x991f0dc)';
print %$foo;

现在这行不通了,因为实际的数据结构不存在。

看起来您是通过套接字获得的,您通过 GEN0 文件句柄读取了该套接字。向您发送该数据结构的人做错了什么。

他们需要序列化数据,然后您需要反序列化它回来。一个好的方法是 JSON .但你也可以使用 Storable , 或 Sereal .

关于perl - 如何将 perl 哈希字符串引用转换为 perl 哈希引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39227611/

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