in reply to Email::Mime send multiple attachments

If you look at the synopsis of Email::MIME, you'll see that the structure of a multipart mail looks like this:

# multipart message my @parts = ( Email::MIME->create( attributes => { ... }, body => io( ... )->all, ), Email::MIME->create( attributes => { ... }, body => io( ... )->all, ), ); my $email = Email::MIME->create( header => [ ... ], parts => [ @parts ], );

In other words, you cannot simply stick all your body parts in attributes (which needs to be a hashref, btw, not arrayref, as you have it!).  Rather, create individual parts, and stick them in parts => [ ... ].

P.S.: please use an identation that reflects the logical nesting of things...