Most of the power comes from implicit smart matching: when($foo) is exactly equivalent to when($_ ~~ $foo) #### # $a $b Type of Match Implied Matching Code # ====== ===== ===================== ============= ... # Array Regex array grep grep /$b/, @$a #### given (@a) { when (/abc/) {} }