2
有2所列出哈希:获得2个不同lists'哈希值的差值在Perl
my @family1= (
{
husband => "barney",
wife => "betty",
son => "bamm bamm",
},
husband => "george",
wife => "jane",
son => "elroy",
},
);
my @family2{
wife => "jane",
},
);
键的结构在两个列表不同,我需要获得关键的妻子“是不在@ family1中,例如在这种情况下“betty”。
我曾经想过做这样的事情:
foreach my $f1(@family1)
{
foreach my $f2 (@family2)
{
if (($f1->{wife} ne $f2 -> {wife})
{
print MYFILE Dumper ($f1->{wife});
}
}
}
当我做类似的东西不明白我的期望。我得到n次f1 - > {太太},我只想得到:
@sameWife = ("betty");
有没有人有更好的解决方案?由于
感谢。现在我想再添加一个条件:'我的$ not_in_family2 = grep {$ wife ne $ _-> {wife}和$ son eq“elroy”} @ family2;''eq'条件完美,但'ne'显示所有元素。 – kmxillo 2013-05-14 15:49:57