use strict; use warnings; my @group1 = ('A','B','C','D'); my @group2 = ('E','F','G','H'); my $string="DEABCDGHEF"; my $group = join '', @group1[0..2], @group2[2,3]; print "Match: $1\n" while $string =~ /([$group]{5})/g;