in reply to Handling different requests for a web app in one centralized place.
On the general topic of refactoring (here's a good node: Refactoring) I like to start small. Find features that can be safely moved to their own components (or modules if they are all logic, no display). Move them. Test them. Repeat.
I find that things become easier when there is less code. This means the more code you move out, the more code you can move out. And at some point you are down to the point where you just need to clean up what you have left, and call it good.
In Section Seekers of Perl Wisdom