http://www.perlmonks.org?node_id=1210553

7stud has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks

In a cgi script, I want to end the headers. All the scripts I see use print "\n\n";, but as far as I can tell that is incorrect on Unix because "\n" gets written untranslated as "\n", yet the HTTP 1.1. spec requires that the two character sequence CRLF be used to end the headers. So I want to write exactly "\r\n" to STDOUT and avoid any newline translations. I can do that with binmode(STDOUT), but then how do I turn off binmode() for STDOUT, so that I can then print regular text in the response body?

Is turning off binmode() documented anywhere? Should I be using syswrite() instead?