gpt4 book ai didi

perl - 不清楚的perl脚本执行

转载 作者:行者123 更新时间:2023-12-01 06:18:59 25 4
gpt4 key购买 nike

我不清楚我的 perl scipt 的执行情况。它不会逐行执行,我不知道为什么?

代码:

#!usr/bin/perl -w
#line 200 "Level Check"
print "\n1";
$level=554;
if($level > 550){
warn "Level Higher Than 550 ($level)";
}
print "\n2";

输出:

Level Higher Than 550 (554) at Level Check line 203.

1

2

为什么不输出:

1

Level Higher Than 550 (554) at Level Check line 203.

2

最佳答案

因为 STDOUT 被缓冲了。在刷新 STDOUT 之前,警告通过 STDERR 发出。

默认情况下,warn() 转到STDERRprint 转到STDOUT。在您当前的代码中,您看到 STDERRSTDOUT

之前被刷新

您可以通过在顶部添加以下内容来更改该行为:

select STDERR; $| = 1;
select STDOUT; $| = 1;

这会将 STDOUTSTDERR 设置为无缓冲并在每次打印时刷新。

关于perl - 不清楚的perl脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5316734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com