use strict; use warnings; my @hand3 = qw/KsQs JsAs/; my @hand4 = qw/AsKc 2s3s/; my @hand899 = qw/As3c/; my @theirHands = (\@hand3, \@hand4, \@hand899); my $myHand = "AcAs"; my %myCards = map {$_ => 0} $myHand =~ /(.{2})/g; print "My hand: ", join '', keys %myCards, "\n"; for my $hands (@theirHands) { # If any of my cards match an opposing hands' card, reject the opp +osing hand my @retained; for my $hand (@$hands) { next if grep {exists $myCards{$_}} $hand =~ /(.{2})/g; push @retained, $hand; } print "@retained\n"; }