use warnings; use strict; mysub('duff'); sub mysub() { print "mysub\n" } #### main::mysub() called too early to check prototype #### use warnings; use strict; sub mysub(); # mysub declaration mysub('duff'); sub mysub() { print "mysub\n" } #### Too many arguments for main::mysub