해시 해시를 직렬화하고 해시의 원래 해시를 다시 직렬화하려고합니다. 문제는 내가 직렬화 해제 할 때마다입니다. 자동 생성 된 $ var1을 추가합니다.Perl 직렬화 및 해시의 해시 값 해설
원래 해시
%hash=(flintstones => {
husband => "fred",
pal => "barney",
},
jetsons => {
husband => "george",
wife => "jane",
"his boy" => "elroy",
},
);
은 = { '심슨 가족'=> { '아이'=> '바트' $ VAR1, '아내'=> '마지', '로 나온다 남편 => '홈런' } '플린트'=> { '남편'=> '프레드' '친구'=> '바니' } };
거기에 $ var1 ..없이 해시의 원래 해시를 얻을 수있는 방법은 무엇입니까 ??
'$ VAR1'은 앞에 붙이지 않습니다. 그것은 직렬화의 일부입니다. 당신이 그것을 deserialise 후 다른 해시를 준다라고 생각하게 만드는 이유는 무엇입니까? 어떻게 그것을 deserialise합니까? – ikegami
개인적으로 JSON :: XS를 사용하여 JSON에 serialize합니다. Data :: Dumper는 디버깅 도구이며 좋은 serialiser는 아닙니다. 특히 기본 옵션이 아닙니다. – ikegami
나는 Freeze/thaw ...를 사용하여 직렬화/역 직렬화를 수행했습니다. 원래 계산을 할 수 있도록 해쉬를 가져야합니다. – user1547285