


UNIVERSAL(3p)    Perl Programmers Reference Guide   UNIVERSAL(3p)


NAME
       UNIVERSAL - base class for ALL classes (blessed refer-
       ences)

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 `$VER-
           SION' 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 subrou-
       tines

       UNIVERSAL::isa ( VAL, TYPE )
           `isa' returns true if one of the following statements
           is true.

           o       `VAL' is a reference blessed into either pack-
                   age `TYPE' or a package which inherits from
                   package `TYPE'.





2000-04-06                 perl v5.6.0                          1





UNIVERSAL(3p)    Perl Programmers Reference Guide   UNIVERSAL(3p)


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

           o       `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 sub-
           routine.   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.






































2000-04-06                 perl v5.6.0                          2


