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.