在 c++ 中,有一个函数 getch(),它返回您按下的键的变量 - 就像 enter 将是 13。我怎么能在 perl 中做到这一点?
问问题
3864 次
2 回答
9
您可以使用Term::ReadKey。
于 2010-06-07T08:34:45.910 回答
4
简而言之:
$x = ord(getc);
详细的:
$c = getc(STDIN);
$x = ord($c);
来自perldoc -f getc
:
"However, it cannot be used by itself to fetch single
characters without waiting for the user to hit enter.
For that, try something more like":
1. if ($BSD_STYLE) {
2. system "stty cbreak </dev/tty >/dev/tty 2>&1";
3. }
4. else {
5. system "stty", '-icanon', 'eol', "\001";
6. }
7.
8. $key = getc(STDIN);
9.
10. if ($BSD_STYLE) {
11. system "stty -cbreak </dev/tty >/dev/tty 2>&1";
12. }
13. else {
14. system 'stty', 'icanon', 'eol', '^@'; # ASCII NUL
15. }
16. print "\n";
于 2010-06-07T08:38:28.663 回答