相关疑难解决方法(0)

如何在不等待Perl换行的情况下立即打印文本?

我在perl中具有计算上昂贵的任务,并且想要通过在计算的每个部分完成之后打印出一段时间来通知用户计算正在进行.不幸的是,在我打印"\n"之前,我的周期都没有打印出来.我该如何解决这个问题?

printing perl newline

14
推荐指数
2
解决办法
5921
查看次数

Perl,禁用缓冲输入

有一个文件:

:~$ cat fff
qwerty
asdf
qwerty
zxcvb
Run Code Online (Sandbox Code Playgroud)

有一个脚本:

:~$ cat 1.pl
#!/usr/bin/perl
print <STDIN>
Run Code Online (Sandbox Code Playgroud)

该命令按预期工作:

:~$ cat fff | perl -e 'system("./1.pl")'
qwerty
asdf
qwerty
zxcvb
Run Code Online (Sandbox Code Playgroud)

但是此命令将无法按预期工作:第一个<STDIN>读取所有数据,而不是单行.如何禁用<STDIN>的缓冲?

:~$ cat fff | perl -e '$_ = <STDIN>; system("./1.pl")'
:~$
Run Code Online (Sandbox Code Playgroud)

perl buffering

6
推荐指数
1
解决办法
2157
查看次数

标签 统计

perl ×2

buffering ×1

newline ×1

printing ×1