sub foo($$); #### 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";