In Parameter§

See primary documentation in context for method sigil

method sigil(Parameter:D: --> Str:D)

Returns a string containing the parameter's sigil, for a looser definition of "sigil" than what is considered part of the parameter's name. Still returns a sigil even if the parameter is anonymous.

This "sigil" is actually an introspection used to help determine the normal binding style of a parameter, if it has not been altered through a trait.

SigilWill bind toDefault behavior
$ScalarGenerate new Scalar, use instead of Scalar in argument, if any
@PositionalBind directly to the argument
@PositionalBindFailoverIf binding failed, call argument's .cache method, bind to result
%AssociativeBind directly to the argument
&CallableBind directly to the argument
\(anything)Bind directly to the argument, keep existing Scalar, if any

Also, | will bind to all remaining arguments and make new Capture if needed.