I agree when we are talking about calling methods within methods internal to a class. It is not too uncommon though to want to provide non-OO functionality to modules (see
for instance). Perl doesn't natively support multi-method dispatch so we have to devise our own solution
in these cases. One way is to examine the parameters yourself and behave accordingly.