in reply to make a hash globally accessible

When you say, "assign key::value pairs to the hash" do you mean like this:
sub func{ $Hash{Key} = 'Value'; }
or do you mean:
sub func{ %Hash = ('Key', 'Value'); }
If the second, then you are overwriting your hash each time.

More information and some sample code would go a long way, here.

Russ
Brainbench 'Most Valuable Professional' for Perl