use strict; use warnings; use List::MoreUtils qw(any); my ($RB1, $RB2) = (1,2); my ($WR1, $WR2) = (3,4); my $TE1 = 1; my $match; my @a = \($RB1, $RB2, $WR1, $WR2, $TE1); for my $i (0..3){ $match |= any {${$a[$i]} == $$_} @a[$i+1 .. 4]; } print "No " if !$match; print "match\n";