Consider using MIME::Explode to parse your message instead of Mail::Internet.
It will give you a structure of message headers and one or more enclosed content parts, with the attachments spit out into temporary files that you can further process as needed.