stas 02/01/22 08:37:40 Modified: src/docs/2.0/user/compat compat.pod Log: - document the compatibility of method handlers (have to use sub attributes) Revision Changes Path 1.7 +35 -0 modperl-docs/src/docs/2.0/user/compat/compat.pod Index: compat.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/compat/compat.pod,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- compat.pod 6 Jan 2002 17:57:24 -0000 1.6 +++ compat.pod 22 Jan 2002 16:37:40 -0000 1.7 @@ -90,6 +90,41 @@ =head2 Apache::File +=head1 Miscellaneous + +=head2 Method Handlers + +In mod_perl 1.x the method handlers could be specified by using the +C<($$)> prototype: + + package Bird; + @ISA = qw(Eagle); + + sub handler ($$) { + my($class, $r) = @_; + ...; + } + +Starting from Perl version 5.6 the subroutine attributes are used in +place of subroutine prototypes: + + package Bird; + @ISA = qw(Eagle); + + sub handler : method { + my($class, $r) = @_; + ...; + } + +see the L<attributes> manpage for additional information on subroutine +attributes. + +mod_perl 2.0 doesn't support the C<($$)> prototypes, mainly because +several callbacks in 2.0 have more arguments than C<$r>, so the +C<($$)> prototype doesn't make sense anymore. Therefore if you want +your code to work with both mod_perl generations, you should use the +subroutine attributes. + =head1 Apache::Registry and Apache::PerlRun and Other mod_cgi Emulators
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]