Here's a simple way to take the difference of sets.
use Data::Dumper;
%one = ( 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6,);
%two = ( 'a' => -1, 'e' => -2, 'i' => -3, 'o' => -4, 'u' => -5,);
print Dumper(\%one, \%two);
%tmp = %one;
delete @tmp{keys %two};
print Dumper(\%tmp);
%tmp = %two;
delete @tmp{keys %one};
print Dumper(\%tmp);
Running the above produces the following:
$VAR1 = {
'e' => 5,
'c' => 3,
'a' => 1,
'b' => 2,
'd' => 4,
'f' => 6
};
$VAR2 = {
'e' => -2,
'u' => -5,
'a' => -1,
'o' => -4,
'i' => -3
};
$VAR1 = {
'c' => 3,
'b' => 2,
'd' => 4,
'f' => 6
};
$VAR1 = {
'u' => -5,
'i' => -3,
'o' => -4
};
|