in reply to CGI + SSI = extra content-type header?

If Mail::Send forks a new process to send the mail and your output buffer is not empty then whatever is in the output buffer will be printed twice. A $| = 1; should fix the problem if it is indeed the problem I described.