##
sub foo($$);
sub bar;
bar "arg1", foo "arg2", "arg3", "arg4";
####
bar("arg1", foo("arg2", "arg3"), "arg4");
####
sub foo ($$);
my @args = ("arg1", "arg2");
foo @args;
####
sub foo(); # Sub takes no arguments.
sub foo($); # Sub takes one argument.
sub foo(&@); # First argument is a block.
sub foo(\@@); # First argument will be reffed.
####
sub bar;
sub foo($);
bar "arg1", foo "arg2", "arg3";