http://qs321.pair.com?node_id=139586


in reply to using strict and functions

You can also declare a global hash (or array, but a hash is more convenient) containing the variables and pass it around as a parameter to the functions:

my $state= { var1 => "value1", var2 => "value2"}; sub f1 { my( $other_param, $state)= @_; $state->{var2}= "new_value2"; # ... } ...

This way you group the variables together cleanly and you can pass them to the functions without clobbering your parameter lists.

Of course if you want to get OO brownie-points you can also make $state an full-blown object, but that would be an other story node...