繁体   English   中英

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

[英]how to convert the perl hash string reference to perl hash reference

 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)不是哈希引用。 它是变量的字符串表示形式,包含对该地址的散列的引用。 你在deref它时描述的错误信息表明你有类似的东西:

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

现在这不起作用,因为实际的数据结构不存在。

看起来你通过GEN0文件句柄读取了一个套接字。 向你发送数据结构的人做错了什么。

他们需要序列化数据,然后您需要将其反序列化 这样做的好方法是JSON 但你也可以使用StorableSereal

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM