my %globalHash; my @globalArray; # do stuff with %globalHash, and push a snapshot of it # periodically onto @globalArray. .... foreach my $hashRef ( @globalArray ) { my %localHash = %{$hashRef}; print $globalHash{"KeyOne"}; print $globalHash{"KeyTwo"}; ... }