【发布时间】:2012-07-22 07:22:24
【问题描述】:
我正在尝试序列化哈希哈希,然后反序列化它以取回哈希的原始哈希。问题是每当我反序列化它时......它会附加一个自动生成的 $var1 例如。
原始哈希
%hash=(flintstones => {
husband => "fred",
pal => "barney",
},
jetsons => {
husband => "george",
wife => "jane",
"his boy" => "elroy",
},
);
出来 $VAR1 = { “辛普森一家” => { '孩子' => '巴特', '妻子' => '玛吉', '丈夫' => '本垒打' }, '燧石' => { '丈夫' => '弗雷德', '朋友' => '巴尼' }, };
有没有什么方法可以在没有 $var1.. 的情况下获得原始哈希值??
【问题讨论】:
-
$VAR1未添加。它是序列化的一部分。是什么让您认为反序列化后会给出不同的哈希值?你如何反序列化它? -
就个人而言,我会使用 JSON::XS 序列化为 JSON。 Data::Dumper 是一个调试工具,不是一个好的序列化器。尤其是默认选项。
-
我已经使用 Freeze/thaw 进行了序列化/反序列化...我需要获取原始哈希,以便可以对其进行一些计算...
-
您提供的输出是 Data::Dumper 创建的序列化。
$VAR1是 Data::Dumper 序列化的一部分。您刚刚证明 Storable 工作正常。