in reply to Global program flow

You will want to take a look at building modules that will encapsulate your main functionality. Then, I would use Apache::ASP (CGI::Application is also good, but Apache::ASP is better for SSI) for the webside and a basic script on the CLI side. They both will use your module(s) that actually do the work. That way, you have the work done in one place and the interface in another. This is an application of MVC, aka Model View Controller.

I know it's a ton of info, but you also have an open-ended question. :-)

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.