gpt4 book ai didi

perl - 如何让 Perl 一次从 STDIN 获取一个字符的输入?

转载 作者:行者123 更新时间:2023-12-04 15:14:43 25 4
gpt4 key购买 nike

我是 Perl 的初学者(与这里的人相比)。我知道的足够多,可以通过命令提示符编写程序来做很多事情。有一次,我决定编写一个命令提示游戏来构建一个迷宫并让我解决它。除了高质量的图形之外,它唯一缺少的是我在迷宫中进行的每一次移动后无需按 Enter 即可使用 WASD 控件的能力。

为了让我的游戏正常工作,我希望能够让 Perl 将单个字符作为来自 STDIN 的输入,而不需要我使用某些东西来分隔我的输入,例如默认的 \n .我将如何做到这一点?

我曾尝试在网上和我拥有的一本书中搜索一个简单的答案,但似乎什么也没找到。我试过设置 $/="" ,但这似乎绕过了所有输入。我认为我的问题可能有一个非常简单的答案,但我也担心这可能是不可能的。

还有 $/=""实际上绕过输入,还是它接受输入如此之快以至于如果我还没有按下键,它会假设没有任何输入?

最佳答案

IO::Prompt 可以使用:

#!/usr/bin/env perl

use strict;
use warnings;

use IO::Prompt;

my $key = prompt '', -1;
print "\nPressed key: $key\n";

相关摘录 perldoc -v '$/' 设置相关 $/ = '' :

The input record separator, newline by default. This influences Perl's idea of what a "line" is. Works like awk's RS variable, including treating empty lines as a terminator if set to the null string (an empty line cannot contain any spaces or tabs).

关于perl - 如何让 Perl 一次从 STDIN 获取一个字符的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com