Thinking about what steps need to be taken before starting out is always good (planning/thinking/brainstorming). Identifying input and output of each step, then modularizing that step into a sub should eliminate a few globals. If the entire process of getting from A to B is a bit of a long one (A to Z), then move your modularized subs into a separate library (Perl Module). Once you have modularized everything, then the kick off / entry point of the journey should be become apparent, though it should have been apparent at the start.
Somebody else will no doubt provide a good list of points in regard to the overall approach. All I can say is to modularize, modularize and modularize...(:-\)