Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

perlman:lib:UNIVERSAL

by root (Scribe)
on Dec 23, 1999 at 00:49 UTC ( #1131=perlfunc: print w/ replies, xml ) Need Help??

lib:UNIVERSAL

See the current Perl documentation for lib:UNIVERSAL.

Here is our local, out-dated (pre-5.6) version:


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 )

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.


Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (16)
As of 2015-07-30 21:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (273 votes), past polls