有没有办法在Perl中清空STDIN缓冲区?我的程序的一部分输出很长(足够时间让某人输入几个字符),在输出之后我会要求输入,但如果在输出期间输入了字符,它们就会“附加”到输入部分输入的任何内容中。以下是我的问题示例:
for(my $n = 0; $n < 70000; $n++){
print $n . "\n";
}
chomp(my $input = <STDIN>);
print $input . "\n";
输出将包括在该for循环期间输入的任何字符。我如何禁用STDIN或刷新STDIN缓冲区(或者任何其他不允许在调用之前向STDIN插入额外字符的方法)?
use IO::Handle;STDIN->autoflush(1);
- user554546