in reply to O, the horrors of references and complex data structures

You probably want to use the { curly-brace hashref constructor } to do this job:
push(@AoH, { %globHash });
This essentially copies the %globHash's values and stores a reference to that in @AoH. Similarly, arrays can be copied by using [ @array ].

NOTE: If your hash is several levels deep, this only copies the top-level! The references stored within a hash are still copied as-is, meaning some of your changes may still be replicated across each instance. To get a full "deep copy" effect, use the 'dclone' function in Storable, or the Clone module.