my $A = list_2_hashref( qw( a b c ) ); my $B = list_2_hashref( qw( b c d ) ); my $C = list_2_hashref( qw( c d e ) ); $| = 1; use Dumpvalue; my $dumper = Dumpvalue->new(); print "\nA:\n"; $dumper->dumpValue( $A ); print "\nB:\n"; $dumper->dumpValue( $B ); print "\nC:\n"; $dumper->dumpValue( $C ); print "\nrelative complement A, B:\n"; $dumper->dumpValue( relative_complement( $A, $B ) ); print "\nintersection A, B, C:\n"; $dumper->dumpValue( intersection( $A, $B, $C ) ); print "\nsymmetric difference A, B:\n"; $dumper->dumpValue( sym_diff( $A, $B ) ); __END__ A: 'a' => 1 'b' => 1 'c' => 1 B: 'b' => 1 'c' => 1 'd' => 1 C: 'c' => 1 'd' => 1 'e' => 1 relative complement A, B: 'a' => 1 intersection A, B, C: 'c' => 1 symmetric difference A, B: 'a' => 1 'd' => 1