Perl允许在控制台菜单中使用箭头

Perl允许在控制台菜单中使用箭头,perl,Perl,我正在做一些简单的项目,我想用箭头导航控制台菜单。我需要向下和向上箭头允许我改变选定的菜单项(我画一些颜色的菜单)。我不想通过输入来确认每个箭头(我使用的是简单的印章,需要输入,我甚至不知道如何允许箭头用于印章)。我需要一些自动检测箭头有什么好的解决方案吗 我需要知道如何创造条件。如果(readedKey==?keyup?{。。。 }如果(readedKey==?keydown?{…} 你可以使用诅咒;例如: #!/usr/bin/perl -w use Curses; initscr; ref

我正在做一些简单的项目,我想用箭头导航控制台菜单。我需要向下和向上箭头允许我改变选定的菜单项(我画一些颜色的菜单)。我不想通过输入来确认每个箭头(我使用的是简单的印章,需要输入,我甚至不知道如何允许箭头用于印章)。我需要一些自动检测箭头有什么好的解决方案吗

我需要知道如何创造条件。如果(readedKey==?keyup?{。。。 }如果(readedKey==?keydown?{…}

你可以使用诅咒;例如:

#!/usr/bin/perl -w
use Curses;
initscr; refresh;
keypad(1);  # enable arrow keys to return a single value
noecho;
print "Press Esc to end.\r\n";
while (($readedKey = getch()) ne "\e")
{
    if ($readedKey eq KEY_UP) { print "You pressed the up arrow.\r\n"; }
    elsif ($readedKey eq KEY_DOWN) { print "You pressed the down arrow.\r\n"; }
    else
    {
        ($printable = $readedKey) =~ s'[[:cntrl:]]'"^".chr(ord($&)^64)'e;
        print "You pressed the key '$printable'.\r\n";
    }
}
endwin;

“没有箭头键(终端窗口中的感应键代码)。使用cat-vet了解键的预期顺序。”(从)查看
Term::ReadKey
。我使用的是Term:ReadKey,但在读取键后,我需要知道如何创建条件。如果(readedKey==?keypup?{…}如果(readedKey==?keypdown?{…}