in reply to non-barewords and use strict

You're asking "how can I detect misspelled function names?", correct? Well, there's no easy way. As for why Perl doesn't do it automatically, that's because Perl lets you define functions at run-time, with eval() or AUTOLOAD().
eval 'sub foo { print @_ }'; # edited foo(123);
Edited, thanks to lestrrat.

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;