Basically, I doubt that the compile time reduction for the code will give you a significant speedup. And the separation of the code in several files organized by the control structure you suggest will probably expose some interdependencies of the split-out subroutines that you then need to take care of.
OTOH, what you suggest could be the start of real modularization (tm), meaning: why don't you do it the obvious way and collect your subroutines into logical groups (modules). Then you can use the built-in magic of Perl with AutoLoader and AutoSplit.
You might also want to have a look at the Apache Performance Tuning Guide.
Brainbench MVP for Perl