in reply to One Hash Instead of Two

I suspect that this code is probably not really doing what you think it is. You are using $3 as a key to your hash on each iteration. Because hash keys must be unique, each time you find a "src" that you've had before, the previous one will simply be overwritten. I suspect this isn't really what you want.

I could suggest an alternative approach, but first I'd like to see some sample data and the output you would expect to get.

Cheers,
Darren :)