in reply to Problems using Mail::Sendmail to include an attachment

use MIME::QUotedPrint;

That isn't a module on CPAN - you probably meant MIME::QuotedPrint. Regardless, this suggests that the code you have entered in your post is not the code which you are running. This makes it pretty close to impossible for another party to debug.

All that said, at least one error is that you are not separating the MIME headers from the bodies. Perhaps inserting that extra whitespace in your message is all you really need.

$msg{'body'}=<<eob; --$boundary Content-Type: text/plain Content-Transfer-Encoding: quoted-printable $req --$boundary Content-Type: text/csv Content-Tranfer-Encoding: base64 Content-Disposition: attachment; filename="account request for $cn.csv +" $estr --$boundary-- eob