That was exactly it, prototyping did the trick perfectly.   I honestly had
no idea that it would even have an effect on this.   Thanks!

On Fri, 4 Oct 2002, Geoffrey Young wrote:

> 
> 
> Tom Servo wrote:
> > This is probably a pointless question, but I'm mostly just curious if
> > there is any way to get this to work.
> > 
> > I've got two modules, Parent.pm and Child.pm.   Parent.pm has a sub
> > handler in it, and Child.pm has Parent in @ISA.   I can run a little
> > driver script over these two and call Child::handler and have it execute
> > Parent::handler, so I know the inheritance is working.
> > 
> > However, if I setup my location directive like this:
> > 
> > <Location /test_child>
> > SetHandler  perl-script
> > PerlHandler Child
> > </Location>
> > 
> > It tells me "Undefined subroutine &Child::handler called".
> > 
> > I'm using Parent & Child in startup.pl, and also doing a use Parent; in
> > Child.pm for good measure.
> > 
> > Is there any way to get mod_perl to execute the handler in the parent
> > class automatically?   Am I just completely missing something?
> 
> so long as you're preloading Child.pm via startup.pl or PerlModule, 
> you probably just need to prototype your handler:
> 
> sub handler ($$) {
>    my ($class, $r) = @_;
> }
> 
> or, with later perls
> 
> sub handler : method {
>    my ($class, $r) = @_;
> }
> 
> you're using a feature called "method handlers" so you can look that 
> up in the mod_perl literature for more information.
> 
> --Geoff
> 
> 

Reply via email to