Subject: | Don't 'use UNIVERSAL' |
UNIVERSAL.pm in 5.8.8 has a bug in that has 'Exporter::import' in it's
namespace, so that ends up adding an 'import' method to every package.
This is fixed in 5.10, but in the meantime...
No class should really import from UNIVERSAL. It's always loaded, and
so UNIVERSAL::isa() is always available for use as a function. The
import only lets you call it 'isa()'.
More importantly, if you are only calling 'isa' as a method on your
objects, you don't need to "use UNIVERSAL 'isa';" at all! (This is
documented in the UNIVERSAL pod):
You may request the import of all three functions ("isa", "can", and
"VERSION"), however it isn't usually necessary to do so. Perl
magically makes these functions act as methods on all objects.
The one
exception is "isa", which is useful as a function when operating on
non-blessed references.