I do something similar using Mail::Bulkmail
- Create array of emails for each process you want
- Create a child (using Parallel::ForkManager) to handle each array -- see this node for info
- In each child give Mail::Bulkmail the list and the email you want to send off
Hope this helps...