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)可能會對您有所幫助。 –