#!/usr/bin/perl use strict; sub foo($); #declare foo as a sub that accepts #a single scalar, to be defined later foo; #compile time error foo 1; #okay - no error sub foo($) { #actual foo implementation print shift; } #### sub foo($$); #two scalar arguments foo $bar; #error foo @bar; #error foo $bar, $baz; #ok foo $bar, @baz; #no error, but does it do what you want?