As reported in Debian's BTS:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460395
"[...]despite the man page saying
Giving VALUE as the empty string adds an invisible placeholder to
the header, which can be used to suppress the output of the "Con-
tent-*" fields or the special "MIME-Version" field. When sup-
pressing fields, you should use replace() instead of add():
$msg->replace("Content-disposition" => "");
Note: add() is probably going to be more efficient than
"replace()", so you're better off using it for most applications if
you are certain that you don't need to delete() the field first.
There is _no way_ you will get "MIME-Version: 1.0" out. It is hardwired.
use MIME::Lite;
$m="MIME-Version";
$msg = MIME::Lite->new( Type => "multipart/digest" );
$msg->attr($m => "qqq");
$msg->replace($m => undef);
$msg->replace($m => "");
$msg->replace($m => "zzz");
$msg->attr($m => "");
$msg->attr($m => undef);
$msg->attr($m => "uuu");
$msg->add($m => "kkk");
$msg->scrub([$m]);
$msg->delete($m);
$msg->print( \*STDOUT );
One even sees warnings,
Explicitly setting a MIME header field (mime-version) is dangerous:
use the attr() method instead.
as if it worked.
Why would one want to remove MIME-Version? How about here on the man page:
Attach a pre-prepared part to a message
### Create a standalone part:
$part = MIME::Lite->new(...
### Attach it to any message:
$msg->attach($part);
Attempt to get it out of $part before attaching.
Anyways, the only way to get it out of an attachment is
$msg->attach( Type ... );"

While I will cede that this is a problem, I still don't understand why
you'd want to get rid of that field. An attached file's part may have a
MIME-Version header. This is not a problem, semantically.
--
rjbs