我正在研究已经发布的perl代码的新版本,并找到了该行:
$|++;
Run Code Online (Sandbox Code Playgroud)
AFAIK,$ | 与管道相关,如本链接所述,我理解这一点,但我无法弄清楚++(加上加号)在这里意味着什么.
先感谢您.
编辑: 在此链接中找到答案:
简而言之:它强制在下一个语句之前打印(刷新)到您的控制台,以防脚本太快.
有时,如果将print语句放在一个非常快速运行的循环中,则在程序终止之前,您将看不到print语句的输出.有时,你根本看不到输出.解决这个问题的方法是在每个print语句后"刷新"输出缓冲区; 这可以使用以下命令在perl中执行:
$|++;
Run Code Online (Sandbox Code Playgroud)
[更新]正如r指出的那样.施瓦茨,我错过了; 上面的命令会导致print在下一个输出之前刷新缓冲区.
pnd*_*ndc 18
$|默认为0; 这样做$|++会将其增加到1.将其设置为非零会在当前选定的文件句柄上启用autoflush,这是STDOUT默认情况下很少更改的.
因此效果是确保print语句等立即输出.如果您要输出到套接字等,这将非常有用.
| 归档时间: |
|
| 查看次数: |
6440 次 |
| 最近记录: |