use strict; use warnings; sub test1; sub test2; sub test3($$); test1; test2; # No prototype at this time. test3 'a', 'b'; # Args required by prototype. sub test1 { print "test1\n"; } sub test2($$) { print "test2\n"; } sub test3($$) { print "test3\n"; } test1; test2 'a', 'b'; # Args required by prototype. test3 'a', 'b'; # Args required by prototype.