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 the perlobj manpage
UNIVERSAL provides the following methods
- isa ( TYPE )
-
isareturns true ifREFis blessed into packageTYPEor inherits from packageTYPE.isacan be called as either a static or object method call.
- can ( METHOD )
-
canchecks 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.cancan be called as either a static or object method call.
- VERSION ( [ REQUIRE ] )
-
VERSIONwill return the value of the variable$VERSIONin the package the object is blessed into. IfREQUIREis given then it will do a comparison and die if the package version is not greater than or equal toREQUIRE.VERSIONcan 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 )
-
isareturns true if the first argument is a reference and either of the following statements is true.
-
VALis a blessed reference and is blessed into packageTYPEor inherits from packageTYPE
-
VALis a reference to aTYPEof perl variable (er 'HASH')
- UNIVERSAL::can ( VAL, METHOD )
-
If
VALis a blessed reference which has a method calledMETHOD,canreturns a reference to the subroutine. IfVALis 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.