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 ( TYPE )
isareturns true if
REFis blessed into package
TYPEor inherits from package
isacan be called as either a static or object method call.
- can ( METHOD )
canchecks 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.
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. If
REQUIREis given then it will do a comparison and die if the package version is not greater than or equal to
VERSIONcan be called as either a static or object method call.
can methods can also be called as subroutines
- UNIVERSAL::isa ( VAL, TYPE )
isareturns 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
- UNIVERSAL::can ( VAL, METHOD )
VALis a blessed reference which has a method called
canreturns a reference to the subroutine. If
VALis 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.