http://www.perlmonks.org?node_id=756123

perl5ever has asked for the wisdom of the Perl Monks concerning the following question:

Is there a way to statically check method calls?

This would entail annotating variable declarations with the name of a class or protocol so that any method calls on that variable could be validated (to make sure it's spelled correctly, has a legal number of arguments, etc.) It may not be able to check as much as a strongly typed language like Java could, but just checking that the method name is spelled correctly would be a big help.

I realize that perl can be used as a very dynamic language, but being able to do any amount static checking would be extremely helpful.