Actually, walkingthecow, I find your code easier to read and understand.
Your comment implies that my code and the OP's code are functionally equivalent. They are not.
I urge you to expend a modicum of effort and do the following simple tasks:
- Download and run the OP's code. You will discover that it does not do what the OP wants it to do. It only stores one email address per category (sales, etc.). This is the reason the OP has asked for help.
- Perl's motto is "There's More Than One Way To Do It". Please show us another way that is easy to read and understand, with the constraint that it does what the OP wants it to do.