相关疑难解决方法(0)

刷新Perl STDIN缓冲区

有没有办法清除Perl中的STDIN缓冲区?我的程序的一部分有很长的输出(有足够的时间让某人输入几个字符)并在输出之后我要求输入,但是如果在输出期间输入了字符,它们将被"添加"到输入中输入的任何内容部分.这是我的问题的一个例子:

for(my $n = 0; $n < 70000; $n++){
   print $n . "\n";
}
chomp(my $input = <STDIN>);
print $input . "\n";
Run Code Online (Sandbox Code Playgroud)

输出将包括从for循环输出期间输入的任何字符.我怎么能禁用STDIN或刷新STDIN缓冲区(或任何其他方式不允许额外的字符在调用之前插入STDIN)?

perl buffer stdin flush

10
推荐指数
1
解决办法
6947
查看次数

标签 统计

buffer ×1

flush ×1

perl ×1

stdin ×1