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


in reply to Reference assessment techniques and how they fail

Note that this technique can't detect a code reference because it would call the referenced sub.

It calls the overloaded sub, which has to return a code reference to execute. If you write defined &$some_object, perl will not call the returned code reference, but the expression will evaluate to true.