簡體   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