Perl:除非按键,否则睡眠 x 秒

Perl: Sleep for x seconds unless keypress

在 perl 中,有没有办法让程序休眠一段时间,除非用户按下某个键?以下是我的代码:

use Term::ReadKey;
ReadMode 4;
while (not defined ($key = ReadKey(-1))) {
    sleep(50);
}
print "Get key $key\n";
ReadMode 0; 

我找到了我的解决方案。这是一个基本的答案

use Term::ReadKey;
ReadMode 4;
while(1) {
    my $key = ReadKey 50; #Sleep for 50
    if(defined $key) {
        print "Pressed $key\n";
    } else {
        print "Timed out\n";
    }
}
ReadMode 0;