<shameless plug>
i just posted my code for doin a verry similar thing, but using Mail::Bulkmail, MIME::Lite, and multiple servers for speed. (74k emails in 23 minutes with 3 servers) you might want to check it out here: forking/envleloping/Mulipart Mime Newsletter Mailer
supports mutiple lists of addys and subject files as well as multipart mime attachments etc.. etc..
</shameless plug>