Стрелка вверх и вниз больше не работает в отладчике Perl и клиенте CPAN

Я использовал Active Perl на своей Mac OS X (v 10.7.5), а затем переключился на тот, который предоставляется через Mac-порты (v 5.12.4).

Теперь, когда я запускаю клиент CPAN или отладчик perl, я не могу получить доступ к истории с помощью ArrowUp и ArrowDown, то, что показано в приглашении, является ^[[A и ^[[B соответственно.

По крайней мере, в отладчике работает история, я могу получить доступ к прошлым командам через! num.

Ответ 1

По умолчанию единственным обработчиком Term::ReadLine, который вы получаете, является Term::ReadLine::Perl, что довольно просто и не понимает таких вещей, как клавиши со стрелками. Вероятно, вы захотите установить Term::ReadLine::Gnu.

Ответ 2

Следуя ответам от LeoNerd и Hakon: - На CentOS 7 мне пришлось запустить

sudo yum install perl-Term-ReadLine-Gnu

чтобы установить модуль. Теперь клавиши со стрелками работают в perl -d

Ответ 3

Если вы хотите избегать установки дополнительных ОС библиотек (или их нужно, потому что у вас нет root/sudo), вы можете просто использовать CPAN для захвата одного из этих две реализации Perl Readline:

Это особенно удобно, если у вас уже есть собственная локальная установка Perl (например, с использованием Perlbrew).

Ответ 4

Это то, что помогло мне в растяжке Debian

apt установить libterm-readline-gnu-perl

Ответ 5

В результате я изменил термин моего окна "Terminal" на vt100 в разделе "Настройки" > "Дополнительно"

Ответ 6

Вот что я должен был сделать, чтобы заставить его работать с Cygwin Perl

Установите следующие пакеты Cygwin:

libncurses-devel
libreadline-devel

Затем установите модуль Term::ReadLine::Gnu из CPAN

Ответ 7

Для "git for Windows" вы можете сделать следующее:

От

Илья Захаревич Пакет Term-ReadLine-Perl-1.0303

скачать файл

Term-ReadLine-Perl-1.0303.tar.gz

извлеките его с помощью

tar xvzf ../Term-ReadLine-Perl-1.0303.tar.gz

Два файла

Term-ReadLine-Perl-1.0303/ReadLine/Perl.pm
Term-ReadLine-Perl-1.0303/ReadLine/readline.pm

обычно копируется с правами администратора в каталог

C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/

в результате чего два файла

C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/Perl.pm and
C:/Program Files/Git/usr/share/perl5/site_perl/Term/ReadLine/readline.pm

После этого вы можете использовать клавиши курсора внутри отладчика Perl, например внутри сеанса "perl -de 0".

В 64-битном git для Windows SDK вам обычно приходится копировать два файла в каталог

C:/git-sdk-64/usr/share/perl5/site_perl/Term/ReadLine