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


in reply to Re: CGI: newlines, write exactly "\r\n" to end the headers, then turn off binmode
in thread CGI: newlines, write exactly "\r\n" to end the headers, then turn off binmode

The HTTP 1.1 spec which requires the last header be followed by two CRLF sequences.

Jep. From RFC 2616
Request (section 5) and Response (section 6) messages use the generic + message format of RFC 822 [9] for transferring entities (the payload + of the message). Both types of message consist of a start-line, zero + or more header fields (also known as "headers"), an empty line (i.e. +, a line with nothing preceding the CRLF) indicating the end of the h +eader fields, and possibly a message-body. generic-message = start-line *(message-header CRLF) CRLF [ message-body ] start-line = Request-Line | Status-Line
In short, the header is terminated by an empty line. Maybe I'm missing the point, but that's exactly what I get with:

print "$lastlineofheader\n\n;"