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


in reply to What is this can() and why is breaking it (un)acceptable?
in thread Why breaking can() is acceptable

Quite simply, all classes in perl inherit from UNIVERSAL. UNIVERSAL implements can. Your class then has an obligation (IMO of course) to provide a working version of can in its interface. If you break aspects of your base class in your subclass you are doing bad OO and defeating the whole purpose of re-use through inheritance.

-stvn