sub func { print(scalar(@_), $/); } @_ = qw(a b c); &func; # 3 func(); # 0 func; # 0 &func(1, 2); # 2 func(1, 2); # 2 func 1, 2; # 2