"Since prototypes are taken into consideration only at compile time, it naturally falls out that they have no influence on subroutines references like \&foo or on indirect subroutine calls like $subref->().
method calls are not influenced by prototypes either. That's because the actual function to be called is indeterminate at compile time, depending as it does on inheritance, which is directly detrmined in perl."