Как получить тот же эффект, что и Python raw_input () в Perl? - PullRequest
4 голосов
/ 10 августа 2011

Python raw_input() сохраняет все функции bash, такие как клавиши со стрелками и обратный поиск ...

Но когда я использую Perl <> для чтения из stdin, ни одна из этих функций больше не поддерживается...

Какой самый простой способ сделать это как raw_input в Perl?

1 Ответ

5 голосов
/ 10 августа 2011

Согласно Документам Python ,

Если модуль readline был загружен, то raw_input () будет использовать его для обеспечения сложных функций редактирования строк и истории.

Как указано в комментариях к исходному сообщению, вам необходимо использовать соответствующий модуль, например Term :: ReadLine или Term :: ReadLine :: Gnu , для доступа к ним. функции. Это ничем не отличается от Python - если вам нужны функции readline, вы должны загрузить модуль readline, явно или неявно.

Но, да, вам нужно будет использовать функцию ввода выбранного вами модуля readline вместо <> для любого ввода, который вы хотите обработать через readline. ( Term :: ReadLine :: Perl включает в себя модуль Term :: ReadLine :: Perl :: Tied, который может переопределить <> для запуска через readline без дополнительных изменений кода, но T :: RL :: P не обновлялся с 2009 года и, похоже, не имеет документов, поэтому я не рекомендовал бы его, если у вас нет достаточно времени, чтобы выяснить, как его использовать.)

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