in reply to Finding Location of Hash Structure?

Hm, not entirely sure it will work for your case, but you could try to run the program under the Perl debugger, add a watchpoint on the hash:
DB<1> w %CONTACTS
and then issue the c command to run the program. It should presumably stop the first time the hash is modified/populated.