|
|
1
2
这不是Perl问题。这是一个UNIX/shell问题。当您在没有管道的情况下运行命令时,您处于行缓冲模式,但是当您使用管道重定向时,您处于块缓冲模式。你可以这样说:
这个C程序有同样的问题:
|
|
|
2
2
我有好消息和坏消息。
好消息是对
运行示例: $ printf "A\nB\nC\nD\n" | ./read.pl Perl read: A And here's what cat gets: B C D
坏消息是你得到了一个单一的转换:如果你试图重复读然后猫,第一
然后是产生 $ printf "A\nB\nC\nD\n" | ./read.pl 1: Perl read: A 1: And here's what cat gets: B C D 2: Perl read: <undefined> 2: And here's what cat gets: |
|
|
3
2
Expect 这是完美的情况下:
像个魔咒一样工作;) |
|
|
4
0
在等待更多输入之前,需要知道程序将发出的“提示”,这是次优的。 另一个次优解决方案如下:
它不需要任何提示信息,但是速度很慢,因为它至少要等待两秒钟。另外,我不明白为什么需要第二个计时器(否则finish不会返回)。 有人知道更好的解决办法吗? |
|
|
5
0
最后我得到了以下解决方案。虽然还远未达到最佳状态,但确实有效。即使在这样的情况下 the one described by gbacon .
用法示例(略加修改阅读.pl为了测试巴肯的情况):
不过,我对更好的解决方案持开放态度。。。 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |
|
|
A.Ellett · 测试-t STDIN与-t<STDIN> 1 年前 |
|
|
con · 如何跳转到foreach迭代的特定点? 1 年前 |