$ perl -Mdiagnostics -e " sub trim(); sub trim($){warn@_} ; " Prototype mismatch: sub main::trim () vs ($) at -e line 1 (#1) (S prototype) The subroutine being declared or defined had previously been declared or defined with a different function prototype.