NAME
UNIVERSAL - base class for ALL classes (blessed references)
SYNOPSIS
$io = $fd->isa("IO::Handle");
$sub = $obj->can('print');
$yes = UNIVERSAL::isa($ref, "HASH");
DESCRIPTION
UNIVERSAL
is the base class which all bless references will inherit from, see perlobj
UNIVERSAL
provides the following methods
- isa ( TYPE )
-
isa
returns true ifREF
is blessed into packageTYPE
or inherits from packageTYPE
.isa
can be called as either a static or object method call. - can ( METHOD )
-
can
checks if the object has a method calledMETHOD
. 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 ( [ REQUIRE ] )
-
VERSION
will return the value of the variable$VERSION
in the package the object is blessed into. IfREQUIRE
is given then it will do a comparison and die if the package version is not greater than or equal toREQUIRE
.VERSION
can be called as either a static or object method call.
The isa
and can
methods can also be called as subroutines
- UNIVERSAL::isa ( VAL, TYPE )
-
isa
returns true if the first argument is a reference and either of the following statements is true.VAL
is a blessed reference and is blessed into packageTYPE
or inherits from packageTYPE
VAL
is a reference to aTYPE
of perl variable (er 'HASH')
- UNIVERSAL::can ( VAL, METHOD )
-
If
VAL
is a blessed reference which has a method calledMETHOD
,can
returns a reference to the subroutine. IfVAL
is not a blessed reference, or if it does not have a methodMETHOD
, 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.