如何在提示用户输入时提供可编辑的默认值?

时间:2011-11-05 17:23:50

标签: perl terminal prompt

在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”。所以它实际上是一个可编辑的默认输入。例如。用户可以按退格键3x然后键入“Wayne”以获得“John Wayne”,而不是从头开始输入整个字符串“John Wayne”。我试图打印到STDIN,但这不起作用。

1 个答案:

答案 0 :(得分:5)

根据定义,您无法写入stdin。你将不得不使用像Term::ReadLine::Gnu这样的东西。

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