vaewyn has asked for the wisdom of the Perl Monks concerning the following question:
package Blah; use Module::I::Always::Use::1; ... use Module::I::Always::Use::35; sub handler { ... same 50 lines of code that do validation/cleansing and then a j +ump table to my real work functions ... } sub setup_environment {} sub work_function_1 {} ... sub work_function_100 {}
Is there any way to have a package that I can inherit all the boilerplate garbage? Copy pasting sucks and is horrible to maintain.
I envision something like:
-- Basehandler.pm -- package Basehandler; use Module::I::Always::Use::1; ... use Module::I::Always::Use::35; sub handler { ... same 50 lines of code that do validation and then a jump table +to my real work functions ... } sub setup_environment { .... } -- MyHandler/ForThisEndpoint.pm -- package MyHandler::ForThisEndpoint; use Basehandler; sub work_function_1 {} ... sub work_function_100 {} -- MyHandler/ForAnotherEndpoint.pm -- package MyHandler::ForAnotherEndpoint; use Basehandler; sub work_function_1 {} ... sub work_function_100 {}
Is there a way to do this? I have done the use parent Blah; thing with object oriented stuff and new() derived objects... this time though I don't really seem to have that option.
I have also thought of *handler = \&Basehandler::Handler(); in my MyHandler::ForThisEndpoint ... but that seems really dirty and once again I am boilerplating for like 5 functions I would like to stick in that same base package.
Thanks to anyone that can give me a pointer or a solution :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Transparently inheriting functions from a parent package
by wind (Priest) on Apr 04, 2011 at 23:41 UTC | |
by vaewyn (Novice) on Apr 04, 2011 at 23:53 UTC | |
by wind (Priest) on Apr 05, 2011 at 00:37 UTC | |
by vaewyn (Novice) on Apr 05, 2011 at 00:48 UTC | |
|
Re: Transparently inheriting functions from a parent package
by Anonymous Monk on Apr 05, 2011 at 00:23 UTC | |
by wind (Priest) on Apr 05, 2011 at 00:39 UTC | |
|
Re: Transparently inheriting functions from a parent package
by stonecolddevin (Parson) on Apr 05, 2011 at 20:19 UTC |