my $var; use MIME::Decoder; my $decoder = new MIME::Decoder 'base64' or die "unsupported"; open (my $fh, "<", $attachfile); open (my $STDOUT, '>', \$var); $decoder->encode($fh, $STDOUT); print $var; close $fh; close $STDOUT; $smtp->datasend($var);