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
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
VERSION can be called as either a static or object method call.
can methods can also be called as subroutines
isa returns true if one of the following statements is true.
VALis a reference blessed into either package
TYPEor a package which inherits from package
VALis a reference to a
TYPEof Perl variable (e.g. 'HASH').
VALis the name of a package that inherits from (or is itself) package
VAL is a blessed reference which has a method called
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.