Win8 Strawberry 5.30.3.1 (64) Sat 09/26/2020 12:14:28 C:\@Work\Perl\monks >perl use strict; use warnings; my $n_found; my $string = 'AKQJT98765432KKKK'; my $set = 'AQK'; # s/// probably fastest in practice. my $destroy = $string; # s/// alters its target $n_found = $destroy =~ s{ [\Q$set\E] }{}xmsg; print "s///: Num of '$set' in '$string' == $n_found \n"; # m// probably a bit slower, use of =()= a bit tricky. $n_found =()= $string =~ m{ [\Q$set\E] }xmsg; print "m//: Num of '$set' in '$string' == $n_found \n"; # tr/// is fastest, but needs expensive eval for arbitrary sets. $n_found = $string =~ tr/KAQ//; print "tr///: Num of 'KAQ' in '$string' == $n_found \n"; __END__ s///: Num of 'AQK' in 'AKQJT98765432KKKK' == 7 m//: Num of 'AQK' in 'AKQJT98765432KKKK' == 7 tr///: Num of 'KAQ' in 'AKQJT98765432KKKK' == 7