Как я могу предоставить редактируемое значение по умолчанию при запросе ввода пользователем? - PullRequest
4 голосов
/ 05 ноября 2011

В 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 еще до того, как пользователь начнет печатать. Так что это практически редактируемый ввод по умолчанию. Например. пользователь мог нажать клавишу возврата 3 раза, а затем набрать «Уэйн», чтобы получить «Джон Уэйн», а не вводить всю строку «Джон Уэйн» с самого начала. Я пытался напечатать до STDIN, но это не сработало.

1 Ответ

5 голосов
/ 05 ноября 2011

Вы по определению не можете писать в stdin.Вам нужно будет использовать что-то вроде Term::ReadLine::Gnu.

Функция, которую вы ищете, называется PREPUT, это второй аргумент функции readline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...