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