The interpreter will complain about header not being in the namespace for main . I find the idea that I'll remember which argument to give to use so I can get the right mix of names imported into main to be more of a nuisance than a feature. I'm happy to use the O-O interface. We are never within an object in a Perl program unless we are writing code that implements the behavior of an object. You merely need to give different objects different names.
Objects are values, just like anything else.
Assign their values to different variable names and you can reference them separately. I noticed that you used a bulleted html list in your example of the paymaster program. You are clearly thinking carefully. Actually, there is no CGI function to close a ul tag for which I can find documentation. If you print the close tag yourself, you're doing great.