Subject: | Policy idea ProhibitUniversalFunctions |
Since you asked for more ideas...
Using UNIVERSAL::isa or UNIVERSAL::can directly is considered bad.
As is C< use UNIVERSAL 'isa' or use UNIVERSAL qw{ can } >
Actually, I think that second case is being deprecated.
In short, they break OO and encapsulation.
As alternatives, call as a method once you know they are objects, or for
the lazy, see Params::Util::_INSTANCE for the normal object->isa case.
(I don't have a good can replacement yet)