in reply to How to access an object method when method name is stored in scalar variable

Actually, there’s a compelling reason why you might want to specify the methods that are to be called through the use of strings (in the manner suggested in the replies), rather than by explicit method-pointers.   If you call a method by specifying the name of the method that you wish to call, Perl will perform the name-resolution for a given object “on the fly” at that time, thus properly locating any methods that you may have overridden.   Whereas, if Perl sees that the variable contains a sub reference, then that sub will be the one that is called, whether it is the one that you intended to call or not.

(If what I just said, sounded vague or tentative, then there is a reason.   “Behold, these are Arkane Mysteries, known to The Wise Elders, and I am but a simple monk ...”)