# @a holds a list of string my @a = ("a", "b", "c", "/", "\[", "\""); #create a regex that matches every element in the array my $re = do { qr/(@{[join ("|", map { quotemeta } @a)]})/ }; die "not a regex!" unless ref($re) eq "Regexp"; #### #you don't need to escape ; ... $chosen_C !=~ /^\*.{36};$re;/ ... #### my $re = do { qr/^\*.{36};(@{[join ("|", map { quotemeta } @a)]});/ }; die "not a regex!" unless ref($re) eq "Regexp"; ... $chosen_C !=~ $re ...