use UNIVERSAL qw(isa);
$yes = isa($ref, "HASH");
$io = $fd->isa("IO::Handle");
$sub = $obj->can('print');
UNIVERSAL is the base class which all bless references will inherit from, see the perlobj manpage
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.
UNIVERSAL also optionally exports the following subroutines
isa returns true if the first argument is a reference and either of the following statements
is true.
REF is a blessed reference and is blessed into package TYPE
or inherits from package TYPE
REF is a reference to a TYPE of perl variable (er
'HASH')