以下是我尝试执行的代码

$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/

10-11 00:57