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 jump table to my real work functions ... } sub setup_environment {} sub work_function_1 {} ... sub work_function_100 {}