2014-03-19 2 views
2

다음 내가다이 인쇄 란 무엇입니까?

$a=0; 
if($a==0){die print"zero"}; 

을 실행하려고 코드 내가 다이 같은 인쇄, 그것은 무엇을 먼저 인쇄 1입니다 궁금

1 at test.pl line 2 
Zero 

을 다음과 같이 내가 출력을 얻을 if 문에 의해 반환 된 값? 모든 도움을 드릴 것입니다

+1

'print "0"의 반환 값을 출력합니다. – hobbs

+1

일반적으로'die'와 함께'print'를 사용하지 않을 것입니다. 'die zero'는 충분하다. – toolic

답변

8

는 인수로서, 1이다 print "zero";의 리턴 값을 사용한다. 따라서 1 at ... 메시지가 표시됩니다.

, 대화 형 프로그램의 STDOUT 라인 버퍼링 기본적으로

하지만 STDERR는 당신이 첫 번째 1 at ... (표준 오류에), 및 zero (표준 출력에) 나중에 볼 이유 즉, 버퍼링이다. print "zero"print "zero\n"으로 변경하면 zero이 먼저 표시됩니다.

1

실제로 인쇄 기능은 오류 메시지에 즉시 삽입되는 1을 반환합니다.

제어 코드는 stmt로 반환되지 않습니다.

die print "zero"; 

die에서

관련 문제