以下是我尝试执行的代码
$a=0;
if($a==0){die print"zero"};
我得到的输出如下
1 at test.pl line 2
Zero
我想知道首先打印的
1
是什么,就像die正在打印if语句返回的值一样吗?任何帮助都将被申请 最佳答案
在
die print "zero";
die
将使用print "zero";
的返回值1
作为其参数。因此,您会看到1 at ...
消息。默认情况下,交互式程序的
STDOUT
是行缓冲的,但是STDERR
是未缓冲的,这就是为什么您首先看到1 at ...
(在stderr上),然后再看到zero
(在stdout上)的原因。如果将print "zero"
更改为print "zero\n"
,您将看到zero
在前。关于perl - 模印什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22495620/