in reply to string/array smart match regex failing me

Smart matching was introduced in 5.10.0, and many problems were found after release. Don't be surprised if you run into some of them when using 5.10.0. 5.10.1 (and thus 5.12.x) fixes many problems with smart-matching.

$s ~~ @pats

can be written as

grep $s =~ $_, @pats

(Although I suspect the latter is a bit less efficient.)