According to this
http://perldoc.perl.org/UNIVERSAL.html
I shouldn\'t use UNIVERSAL::isa() and should instead use $obj->isa() or CLASS->isa().
This means
Right. It does a wrong thing for classes that overload isa. Just use the following idiom:
isa
if (eval { $obj->isa($class) }) {
It is easily understood and commonly accepted.