4
HTTP 응답의 점진적 버퍼링을 비활성화해야합니다.Perl은 파일 핸들을 풀어 놓은 후 STDOUT을 처리 할 수 없습니다.
$|=1;
$TIE = tie(*STDOUT,__PACKAGE__);
인쇄 문은 배열에 저장되며 다음을 통해 검색됩니다 :
나는 파일 핸들 클래스를 사용하여 펄에서이 작업있어
$buffer = tied *STDOUT;
$buffer = join('', @$buffer);
undef $TIE;
untie(*STDOUT);
을하는 경우 HTTP 응답 text/html
이면 올바르게 브라우저에 표시됩니다.
그러나 이진 스트림의 경우 binmode
을 STDOUT
으로 설정하고 내용을 손상시킨 후에 설정할 수 없습니다.
파일에 HTTP 응답을 저장하거나 파일 핸들 클래스를 사용하지 않으면 이진 데이터가 보존됩니다.
원시 인코딩을 강제하는 방법에 대한 제안 사항이 있으십니까? 감사.
감사합니다. 나는'a' 템플릿으로'unpack '을 사용하는 청크 분할 전송 방식으로 좁혔습니다. 그것은'binmode'를 무시하는 것 같습니다. – xpsd300