X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlbot.pod;h=91723b70d787d6bf7f03976c516e6ed927ffb116;hb=024963f8e0e4bfbd631d6878a69f86cabc760a32;hp=0f7078f197bb3d46bf9f7b22a9b337822c1b58b8;hpb=c954a603b8f02c172ffe0fd3503b4d7ca983ad99;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlbot.pod b/pod/perlbot.pod index 0f7078f..91723b7 100644 --- a/pod/perlbot.pod +++ b/pod/perlbot.pod @@ -10,7 +10,8 @@ mechanics of object and class relationships. The reader is encouraged to consult relevant textbooks for discussion of Object Oriented definitions and methodology. This is not intended as a tutorial for object-oriented programming or as a comprehensive guide to Perl's object oriented features, -nor should it be construed as a style guide. +nor should it be construed as a style guide. If you're looking for tutorials, +be sure to read L, L, and L. The Perl motto still holds: There's more than one way to do it. @@ -57,7 +58,7 @@ See L. =item 7 -IO syntax is certainly less noisy, but it is also prone to ambiguities which +IO syntax is certainly less noisy, but it is also prone to ambiguities that can cause difficult-to-find bugs. Allow people to use the sure-thing OO syntax, even if you don't like it. @@ -242,6 +243,9 @@ where that method is defined. $foo->goo; $foo->google; +Note that C refers to the superclasses of the current package +(C), not to the superclasses of C<$self>. + =head1 USING RELATIONSHIP WITH SDBM @@ -265,7 +269,7 @@ This example demonstrates an interface for the SDBM class. This creates a $ref->FETCH(@_); } sub STORE { - my $self = shift; + my $self = shift; if (defined $_[0]){ my $ref = $self->{'dbm'}; $ref->STORE(@_); @@ -404,7 +408,7 @@ This problem can be solved by using the object to define the context of the method. Let the method look in the object for a reference to the data. The alternative is to force the method to go hunting for the data ("Is it in my class, or in a subclass? Which subclass?"), and this can be inconvenient -and will lead to hackery. It is better to just let the object tell the +and will lead to hackery. It is better just to let the object tell the method where that data is located. package Bar; @@ -420,7 +424,7 @@ method where that data is located. sub enter { my $self = shift; - + # Don't try to guess if we should use %Bar::fizzle # or %Foo::fizzle. The object already knows which # we should use, so just ask it. @@ -525,3 +529,7 @@ behavior by adding custom FETCH() and STORE() methods, if this is desired. tie %foo, "Mydbm", "adbm", O_RDWR|O_CREAT, 0640; $foo{'bar'} = 123; print "foo-bar = $foo{'bar'}\n"; + +=head1 SEE ALSO + +L, L, L.