in reply to subroutines and namespace

Maybe not the best suggestion, but consider it a seed for possibly other ideas:

Why not have an optional hashref that you pass in, such that if it is defined, you store the results there, otherwise you create a new one and return that?

sub do_something { my ( $normal_arg1, $normal_arg2, $optional_hashref ) = @_; my $hashref = $optional_hashref || { }; # # ...time passes... # $hashref->{ return1 } = "foo"; $hashref->{ return2 } = "bar"; return $hashref; } my %hash; my %newhash = do_something( $this, $that ); do_something( $this, $that, \%hash );

-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important