0
如何才能获得用户输入,直到经过一段时间(毫秒,我正在使用Time::HiRes
模块),但如果时间流逝且没有输入,则不会发生任何事情。具体来说,我一直一字一个打印问题,直到STDIN发生中断为止。要做到这一点,程序会在继续打印前等待少量时间,如果没有中断,则打印下一个字。我该怎么做,或者是更好的选择。谢谢一堆。我最初的计划看起来是这样的:直到时间流逝用户输入
use Time::HiRes qw/gettimeofday/;
$initial_time = gettimeofday();
until (gettimeofday() - $a == 200000) {
;
if ([<]STDIN[>]) { #ignore the brackets
print;
}
}
一些解决方案:轮询期限:: Readkey,IO ::选择,使得处理无阻塞,通过中断信号 – ikegami