sub foo ($x) { say($x) } #### sub foo ($x:) { say($x) } #### sub foo($x, $y, $z) {...} # expects three scalars @onetothree = 1..3; # array stores three scalars foo(1,2,3); # okay: three args found foo(@onetothree); # error: only one arg foo(*@onetothree); # okay: @onetothree flattened to three args #### sub perl6foo ($bar, $baz) { } #### sub perl5foo { my ($bar, $baz) = @_; }