加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 06:05:24 所属栏目:大数据 来源:网络整理
导读:HASH(0x991f0dc) 所以上面的哈希引用在标量变量中存储为字符串,如果我们的话 在Perl程序中用“%”取消引用它会引发错误, 不能使用字符串(“HASH(0x991f0dc)” “)作为HASH引用,而在tcpclient1.pl第49行使用”strict refs“时, GEN0第1行 以上是从Perl程序抛
HASH(0x991f0dc)

所以上面的哈希引用在标量变量中存储为字符串,如果我们的话
在Perl程序中用“%”取消引用它会引发错误,

不能使用字符串(“HASH(0x991f0dc)”
“)作为HASH引用,而在tcpclient1.pl第49行使用”strict refs“时,< GEN0>第1行

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

解决方法

你无法将其转换回来.

HASH(0x991f0dc)不是哈希引用.它是变量的字符串表示形式,包含对该地址的散列的引用.你在deref它时描述的错误信息表明你有类似的东西:

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读