【问题标题】:How can I provide an editable default value when prompting for user input?提示用户输入时如何提供可编辑的默认值?
【发布时间】:2011-11-05 17:23:49
【问题描述】:

在 Perl 脚本中,我想提示用户输入并为他提供一个 可编辑 默认值。到目前为止,我有这个:

#!/usr/bin/perl

print "what's your name? [John Doe]: ";
$name = <STDIN>;
chomp $name;
if (!$name)
{
    $name = "John Doe";
}
print "hello $name.\n";

我正在寻找一种解决方案,在用户开始输入之前,我可以在STDIN 上拥有“John Doe”。所以它实际上是一个可编辑的默认输入。例如。用户可以按退格键 3 次,然后键入“Wayne”来获取“John Wayne”,而不是从头开始键入整个字符串“John Wayne”。我尝试打印到STDIN,但没有成功。

【问题讨论】:

    标签: perl terminal prompt


    【解决方案1】:

    根据定义,您不能写入标准输入。你将不得不使用Term::ReadLine::Gnu之类的东西。

    您要查找的功能称为PREPUT,它是readline 函数的第二个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2011-02-01
      相关资源
      最近更新 更多