in reply to Which warning category?
If you don't want to run the program again with diagnostics turned on, you can give splain the error message
$ perl -we" f(3); sub f($){die} " main::f() called too early to check prototype at -e line 1. Died at -e line 1. $ echo main::f() called too early to check prototype at -e line 1. |sp +lain main::f() called too early to check prototype at -e line 1. (#1) (W prototype) You've called a function that has a prototype before + the parser saw a definition or declaration for it, and Perl could not +check that the call conforms to the prototype. You need to either add a +n early prototype declaration for the subroutine in question, or mov +e the subroutine definition ahead of the call to get proper prototype checking. Alternatively, if you are certain that you're calling t +he function correctly, you may put an ampersand before the name to av +oid the warning. See perlsub.
|
|---|