In Operators§

See primary documentation in context for infix ~~

The smartmatch operator aliases the left-hand side to $_, then evaluates the right-hand side and calls .ACCEPTS($_) on it. The semantics are left to the type of the right-hand side operand.

Here is a partial list of some of the built-in smartmatching functionality. For full details, see ACCEPTS documentation for the type on the right-hand side of the operator.

Right-hand sideComparison semantics
Mu:Utype check
Strstring equality
Numericnumeric equality
Regexregex match
CallableBoolean result of invocation
Set/Bagequal element values
Any:Dobject identity