以下是我試圖執行印模是什麼?
$a=0;
if($a==0){die print"zero"};
代碼和我得到的輸出如下
1 at test.pl line 2
Zero
我想知道什麼是1
首先被印刷,是它像模具是印刷if語句返回的值?任何幫助將被認爲是
以下是我試圖執行印模是什麼?
$a=0;
if($a==0){die print"zero"};
代碼和我得到的輸出如下
1 at test.pl line 2
Zero
我想知道什麼是1
首先被印刷,是它像模具是印刷if語句返回的值?任何幫助將被認爲是
在
die print "zero";
die
將使用的print "zero";
返回值,這是1
,作爲其參數。所以你看到了1 at ...
消息。
默認情況下,互動節目的STDOUT
是行緩衝,但STDERR
是無緩衝,這就是爲什麼你的1 at ...
(stderr上)第一,和zero
(stdout上)在後面看到。如果您將print "zero"
更改爲print "zero\n"
,則會看到zero
排在第一位。
實際上,打印函數返回了一個1,它立即插入到它的錯誤消息中。
控制從不返回到if stmt。
它打印'print「零」'的返回值。 – hobbs
通常情況下,你不會在'die'中使用'print'。 '死「零」'就足夠了。 – toolic