正規表現でOR演算子を使用できることはわかっています。
$str = "Here is a strawhat, some cranberry, and a strawberry!";
while($str =~ /(\bstraw\B|\Bberry\b)/g) {
print "Thanks for the $& !\n";
}
ORの代わりにANDを使用するwhileループ以外の簡単で短い方法があります。そのため、一致するのは「イチゴ」だけですか。
つまり、指定されたすべての正規表現に一致するサブストリングが文字列に存在するかどうかを確認する必要があります。