Author: larry Date: Thu Dec 28 13:56:48 2006 New Revision: 13505 Modified: doc/trunk/design/syn/S12.pod
Log: Refinements to previous fix. Modified: doc/trunk/design/syn/S12.pod ============================================================================== --- doc/trunk/design/syn/S12.pod (original) +++ doc/trunk/design/syn/S12.pod Thu Dec 28 13:56:48 2006 @@ -791,10 +791,19 @@ dispatcher as a last resort only if no method can be found in the class hierarchy. -A subroutine call considers only visible subroutines (including submethods) of -that name. There is no fail-over from subroutine to method dispatch. -However, you may use C<is export> on a method call definition to also -make it available as a multi sub. +A subroutine call considers only visible subroutines (including +submethods) of that name. There is no fail-over from subroutine +to method dispatch. However, you may use C<is export> on a method +definition to make it available also as a multi sub. As with indirect +object syntax, the first argument is still always the invocant, +but the export allows you to use a comma after the invocant instead +a colon, or to omit the colon entirely in the case of a method with +no arguments other than the invocant. Many standard methods (such +as C<IO::close> and C<Array::push>) are automatically exported to the +global namespace by default. For other exported methods, you will not +see the multi sub definition unless you C<use> the class in your scope, +which will import the multi sub lexically, after which you can call it +using normal subroutine call syntax. =head1 Multi dispatch