#!/usr/bin/env perl
use warnings;
use 5.012;
use Term::ReadKey;
my $key;
ReadMode 4;
print "Enter a key: ";
$key = ReadKey();
printf "|%s|\n", $key // 'undef';
$key = ReadKey(-1);
printf "|%s|\n", $key // 'undef';
$key = ReadKey(-1);
printf "|%s|\n", $key // 'undef';
ReadMode 0;
say "END";
当我在 Windows 或 Linux 上运行此脚本时,k
我会两次得到此输出:
Enter a key: |k|
|undef|
|undef|
END
当我按下Up
“键”时,我得到
Enter a key: |
|[|
|A<
END
在 Linux 上,但在 Windows 上,脚本会停止:
Enter a key:
为什么我到这里不是一些奇怪的迹象而是?