in reply to creating a perl entry-point

Specifying &main_routine() to call it works, but bypasses any prototypes. That's typically not what you want. (If there's no prototype, it's moot, but if you've specified one... well, why are you trying to bypass it?)

Otherwise - matter of preference. I tend to simply write my 'main' at the bottom of the program, which is generally short and calls a bunch of subs. Sometimes there'll be a comment indicating where it starts. Nothing wrong with putting most of your code into defined subs, but ... well, perl starts at a very simple 'one line to do something' model, and grows from there - so you won't find a 'main' a common thing.