在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
,但这不起作用。
答案 0 :(得分:5)
根据定义,您无法写入stdin。你将不得不使用像Term::ReadLine::Gnu
这样的东西。
您要查找的功能称为PREPUT
,它是readline
功能的第二个参数。