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


in reply to When -w and use strict aren't enough...

Even if there wasn't AUTOLOAD and eval, perl's loose typing makes it impossible to check method names at compile time. Consider this snippet:
sub foo{ my $thing = shift; print $thing->to_xml; }
$thing could be anything, there is no way at compile time for perl to know if $thing has a "to_xml" method