diff options
author | Ricardo SIGNES <rjbs@cpan.org> | 2009-01-26 09:53:51 -0500 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2009-02-07 14:57:05 +0100 |
commit | 003db2bd2e42353866adbc9b4f1ad5f829a2b43b (patch) | |
tree | b85cfba0a7e18b8ad936459f3340e3b56a301994 /pod/perlobj.pod | |
parent | 7fee2b4cbff01fe23cb8ddca87276ca9899b0fe3 (diff) | |
download | perl-003db2bd2e42353866adbc9b4f1ad5f829a2b43b.tar.gz |
pare down docs of UNIVERSAL in perlobj
Diffstat (limited to 'pod/perlobj.pod')
-rw-r--r-- | pod/perlobj.pod | 49 |
1 files changed, 10 insertions, 39 deletions
diff --git a/pod/perlobj.pod b/pod/perlobj.pod index 5b6adbabd4..44ae4535ab 100644 --- a/pod/perlobj.pod +++ b/pod/perlobj.pod @@ -158,8 +158,8 @@ through @ISA are known as base classes of the current class. All classes implicitly inherit from class C<UNIVERSAL> as their last base class. Several commonly used methods are automatically -supplied in the UNIVERSAL class; see L<"Default UNIVERSAL methods"> for -more details. +supplied in the UNIVERSAL class; see L<"Default UNIVERSAL methods"> or +L<UNIVERSAL|UNIVERSAL> for more details. X<UNIVERSAL> X<base class> X<class, base> If a missing method is found in a base class, it is cached @@ -405,38 +405,18 @@ X<isa> C<isa> returns I<true> if its object is blessed into a subclass of C<CLASS> -You can also call C<UNIVERSAL::isa> as a subroutine with two arguments. Of -course, this will do the wrong thing if someone has overridden C<isa> in a -class, so don't do it. - -If you need to determine whether you've received a valid invocant, use the -C<blessed> function from L<Scalar::Util>: -X<invocant> X<blessed> - - if (blessed($ref) && $ref->isa( 'Some::Class')) { - # ... - } - -C<blessed> returns the name of the package the argument has been -blessed into, or C<undef>. - =item DOES(ROLE) +X<DOES> -C<DOES> returns I<true> if its object claims to perform the role C<ROLE>. - -By default, the response to C<DOES> is the same as the response to ISA. For -more information on C<DOES> and other universal methods, see L<UNIVERSAL>. +C<DOES> returns I<true> if its object claims to perform the role C<ROLE>. By +default, this is equivalent to C<isa>. =item can(METHOD) X<can> C<can> checks to see if its object has a method called C<METHOD>, if it does then a reference to the sub is returned, if it does not then -I<undef> is returned. - -C<UNIVERSAL::can> can also be called as a subroutine with two arguments. It'll -always return I<undef> if its first argument isn't an object or a class name. -The same caveats for calling C<UNIVERSAL::isa> directly apply here, too. +C<undef> is returned. =item VERSION( [NEED] ) X<VERSION> @@ -444,24 +424,15 @@ X<VERSION> C<VERSION> returns the version number of the class (package). If the NEED argument is given then it will check that the current version (as defined by the $VERSION variable in the given package) not less than -NEED; it will die if this is not the case. This method is normally -called as a class method. This method is called automatically by the -C<VERSION> form of C<use>. +NEED; it will die if this is not the case. This method is called automatically +by the C<VERSION> form of C<use>. - use A 1.2 qw(some imported subs); + use Package 1.2 qw(some imported subs); # implies: - A->VERSION(1.2); + Package->VERSION(1.2); =back -B<NOTE:> C<can> directly uses Perl's internal code for method lookup, and -C<isa> uses a very similar method and cache-ing strategy. This may cause -strange effects if the Perl code dynamically changes @ISA in any package. - -You may add other methods to the UNIVERSAL class via Perl or XS code. -You do not need to C<use UNIVERSAL> to make these methods -available to your program (and you should not do so). - =head2 Destructors X<destructor> X<DESTROY> |