Working with what derby
wrote, would explictly setting the disposition of the "body attachment" to "inline" help?
$msg->attach( Type => 'TEXT',
Data => $data,
Disposition => 'inline', # <== extra line here
$msg->attach( Type => 'text/plain',
Path => $ARGV,
Filename => $ARGV,
Disposition => 'attachment',
The docs do say that "inline" is the default, so this might not help much.
Furthermore, the docs for MIME::Lite say:
You can safely scrub the "content-disposition" attribute if you trust the mail reader to do the right thing when it decides whether to show an attachment inline or as a link. Be aware that scrubbing both the content-disposition and the content-type means that there is no way to "recommend" a filename for the attachment!
Note: there are reports of brain-dead MUAs out there that do the wrong thing if you provide the content-disposition. If your attachments keep showing up inline or vice-versa, try scrubbing this attribute.