UNIVERSAL - base class for ALL classes

- NAME
- SYNOPSIS
- DESCRIPTION

# 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 )
  `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 ( METHOD )
  `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 ( [ REQUIRE ] )
  `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.

The `isa` and `can` methods can also be called as subroutines

UNIVERSAL::isa ( VAL, TYPE )
  `isa` returns true if one of the following statements is true.
  - `VAL` is a reference blessed into either package `TYPE` or a package which inherits from package `TYPE`.

  - `VAL` is a reference to a `TYPE` of Perl variable (e.g. 'HASH').

  - `VAL` is the name of a package that inherits from (or is itself) package `TYPE`.

UNIVERSAL::can ( VAL, METHOD )
  If `VAL` is a blessed reference which has a method called `METHOD`, `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.

UNIVERSAL - base class for ALL classes