3
A
回答
1
您可以使用alarm()
,
use strict;
use warnings;
sub timeout {
my ($f, $sec) = @_;
return eval {
local $SIG{ALRM} = sub { die };
alarm($sec);
$f->();
alarm(0);
1;
};
}
my $text;
my $ok = timeout(sub{ $text = <STDIN>; }, 10);
if ($ok) {
print "input: $text";
}
else {
print "timeout occurred\n";
}
3
IO::Select
和can_read
一个超时。
#!/usr/bin/env perl
use strict;
use warnings;
use IO::Select;
my $select = IO::Select->new();
$select->add(\*STDIN);
my $input = "NONE";
if ($select->can_read(10)) {
$input = <STDIN>;
}
print "Got input of $input\n";
相关问题
- 1. 等待输入一定时间
- 2. 一个指定的等待时间
- 3. 等待线程加入时间限制
- 4. 在进入下一步之前等待一段时间
- 5. 如何等待一段时间asp c#?
- 6. 等待一段随机时间
- 7. VBA定时器 - 减时间等待用户输入
- 8. 等待只输入X时间的输入
- 9. 等待输入
- 10. 在等待用户输入红宝石时制作一个时间计数器
- 11. 如何限制SqlConnection.Open()的等待时间?
- 12. 等待用户输入一个表格
- 13. 我可以让Dart功能“等待”一段时间或输入吗?
- 14. 在等待用户输入时避免无限循环
- 15. Java - 在一段时间后等待空间或返回
- 16. 如何捕获等待用户输入的时间间隔?
- 17. 在等待输入时运行方法
- 18. 极限和等待时间喜欢Rapidshare
- 19. keylistener等待输入
- 20. c + +等待输入
- 21. java.util.Scanner:等待输入
- 22. Unity输入字段在一段时间后锁定以前输入的字符
- 23. 我的第一个scanf()不在等待输入,但仍然在等待并接受输入以后
- 24. 等待一段随机的时间在Android中播放声音
- 25. Openshift的rhc设置正在等待一段时间
- 26. 等待超时的用户输入
- 27. printf的等待输入
- 28. 输入时间,Perl打印时间表
- 29. 在启动另一个方法之前等待一个固定的时间
- 30. 等待,并在同一时间蟒蛇
也许这可以使用:[Perl的 - 自定义键盘处理程序(http://stackoverflow.com/questions/27637326/perl-custom-keystroke-handlers) –
Perl的食谱描述涉及[IO的溶液: :Handle](http://p3rl.org/IO::Handle),[IO :: Select](http://p3rl.org/IO::Select)和[Symbol](http:// p3rl。组织/符号)。 – choroba
这[讨论](http://www.perlmonks.org/?node_id=282322)可能会对您有所帮助。 –