in reply to More efficient return of values from sub

Has there been a problem with some resource(s) that causes you to look at this subroutine? If there hasn't, then why are you worrying? Just return an hashref and let the caller worry about it. Or, return an singleton object with a nice interface and let the object lazy-load what it gets asked for. (This is a really good use of the Singleton pattern, in case you're wondering.)

Now, if you're having performance problems, have you profiled your app to find where the problems are? I would be very surprised if it was the returning semantics that was causing you performance problems.

So, just bundle it up into a Singleton, clean up your callers, and go home. :-)

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.

  • Comment on Re: More efficient return of values from sub