1
9
来自perlfaq5: How can I read a single character from a file? From the keyboard? .你可能也想读书 How can I tell whether there's a character waiting on a filehandle? .轮询文件句柄。如果有一个字符,读取它并重置计时器。如果没有字符,请重试。如果您已重试并通过了特定时间,请处理输入。 看完这些角色后,由你决定如何处理它们。阅读单个字符的灵活性带来了额外的处理工作。 |
2
4
Term::ReadKey 我能为你做这件事。特别是设置ReadKey()模式来为您进行轮询。
|
3
1
如果每个字符之间都有时间,您可能能够检测到暂停。 Perl还进行行输入——如果不使用getc,应该可以在foo、bar等的末尾添加换行符,Perl会给出每一行。 如果不能添加换行符,也不能依赖暂停,那么您希望系统做什么来告诉perl它启动了一个新命令?就perl而言,有一个stdin管道,它正在从中读取数据,在执行新命令时,stdin管道中没有任何内容可以告诉您。 你可以考虑以下内容:
或
并修改perl程序以解析输入“命令行”并执行每个任务,根据需要使用stdout。 -亚当 |
4
0
看见 How to change Open2 input buffering (基本上,你必须让另一个程序认为它在和tty对话。) |
5
0
您没有提到如何读取Perl脚本中的输入,但您可能想看看
|
Manny · 如何比较Perl中的字符串? 2 年前 |
BioRod · 我不能用Perl打印键和值 2 年前 |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 2 年前 |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 2 年前 |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 2 年前 |
Pranay Nanda · 使用regex解析许可证文件 6 年前 |