2014-07-10 2 views
-1

다른 해시와 공통되지 않는 중첩 해시 부분을 확인하려고합니다. 예를 들어 :Perl에서 다차원 해시의 교차점

my $r = hash_unique($q, $p); 

그것은 $r = {a => {f => 'f'}, e => 'e'}을 제공한다 : 내가 좋아하는 것

my $p = {a => {b => 'b', c => 'c'}, d => 'd'}; 
my $q = {a => {c => 'c', f => 'f'}, e => 'e'}; 

$p에없는 $q의 일부를 반환하는 함수 hash_unique을 가지고 있습니다. 참고 : 해시의 키만 확인해야하며 값의 차이는 무시됩니다.

{ a => { f => "f" }, e => "e" } 
+0

문제는 실제로 무엇인가

use Data::Dump qw(dump); use Hash::Diff qw(left_diff); my $p={a=>{b=>'b',c=>'c'},d=>'d'}; my $q={a=>{c=>'c',f=>'f'},e=>'e'}; my $r=left_diff($q,$p); dump($r); 

나에게 정확한 솔루션을 제공 : – Palec

답변

0

나는 Hash::Diff를 사용하여 좋은 해결책을 발견? 문제가 어디에 있습니까?