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 > >