UNIVERSAL - base class for ALL classes (blessed references)
$io = $fd->isa("IO::Handle");
$sub = $obj->can('print');
$yes = UNIVERSAL::isa($ref, "HASH");
UNIVERSAL
is the base class which all bless references will inherit from, see perlobj
UNIVERSAL
provides the following methods
isa
returns true if REF
is blessed into package TYPE
or inherits from package TYPE
.
isa
can be called as either a static or object method call.
can
checks if the object has a method called METHOD
. If it does then a reference to the sub is returned. If it does not then undef is returned.
can
can be called as either a static or object method call.
VERSION
will return the value of the variable $VERSION
in the package the object is blessed into. If REQUIRE
is given then it will do a comparison and die if the package version is not greater than or equal to REQUIRE
.
VERSION
can be called as either a static or object method call.
The isa
and can
methods can also be called as subroutines
isa
returns true if one of the following statements is true.
VAL
is a reference blessed into either package TYPE
or a package which inherits from package TYPE
.
VAL
is a reference to a TYPE
of Perl variable (e.g. 'HASH').
VAL
is the name of a package that inherits from (or is itself) package TYPE
.
If VAL
is a blessed reference which has a method called METHOD
, can
returns a reference to the subroutine. If VAL
is not a blessed reference, or if it does not have a method METHOD
, undef is returned.
These subroutines should not be imported via use UNIVERSAL qw(...)
. If you want simple local access to them you can do
*isa = \&UNIVERSAL::isa;
to import isa into your package.