summaryrefslogtreecommitdiff
path: root/pod/perlobj.pod
diff options
context:
space:
mode:
authorRicardo SIGNES <rjbs@cpan.org>2009-01-26 09:53:51 -0500
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2009-02-07 14:57:05 +0100
commit003db2bd2e42353866adbc9b4f1ad5f829a2b43b (patch)
treeb85cfba0a7e18b8ad936459f3340e3b56a301994 /pod/perlobj.pod
parent7fee2b4cbff01fe23cb8ddca87276ca9899b0fe3 (diff)
downloadperl-003db2bd2e42353866adbc9b4f1ad5f829a2b43b.tar.gz
pare down docs of UNIVERSAL in perlobj
Diffstat (limited to 'pod/perlobj.pod')
-rw-r--r--pod/perlobj.pod49
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>