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 :)
In reply to Transparently inheriting functions from a parent package by vaewyn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |