in reply to Logical operations on arrays
One option is to use List::Compare:
use strict; use warnings; use List::Compare; my @a = qw(a b c); my @b = qw(b c d); print "\@a = @a\n\@b = @b\n\n"; print '@a AND @b = ', arrayANDCompare( \@a, \@b ), "\n\n"; print '@a OR @b = ', arrayORCompare( \@a, \@b ); sub arrayANDCompare { my ( $a, $b ) = @_; return List::Compare->new( $a, $b )->get_intersection; } sub arrayORCompare { my ( $a, $b ) = @_; return List::Compare->new( $a, $b )->get_union; }
Output:
@a = a b c @b = b c d @a AND @b = bc @a OR @b = abcd
In Section
Seekers of Perl Wisdom