UNIVERSAL(3pm)

UNIVERSAL3pm

Base class for all classes (blessed references)

Usage

    $io = $fd->isa("IO::Handle");
    $sub = $obj->can('print');
    $yes = UNIVERSAL::isa($ref, "HASH");

Overview

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 the first argument is a reference and either of the following statements is true.

VAL is a blessed reference and is blessed into package TYPE or inherits from package TYPE

VAL is a reference to a TYPE of perl variable (er 'HASH')

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.

Releases

5 releases since Debian 1.2 (Rex); the text changed 3 times.

  1. 1.2–1.3
  2. 2.0
  3. 2.1
  4. 2.2

From perl-5.004-doc 5.004.05-6 in Debian 2.2 (Potato). Also shipped by perl-5.005-doc. Parsed by carta from the page's man source.