Ошибка отладчика Perl @ C:/Perl/lib/Term/ReadLine/Perl.pm, строка 65

У меня возникает странная ошибка при попытке запустить Perl-скрипт с ActivePerl в Windows XP:

>perl -d quick_translate_missing.pl < translate_en.txt > new.txt

Loading DB routines from perl5db.pl version 1.33
Editor support available.

Enter h or `h h' for help, or `perldoc perldebug' for more help.

main::(quick_translate_missing.pl:9):
9:      my $not_translated = '\'EN_([\w\s]+)\'';
El sistema no puede hallar la ruta especificada.
Unknown error
Compilation failed in require at C:/Perl/lib/Term/ReadLine/Perl.pm line 65.
 at C:/Perl/lib/Term/ReadLine/Perl.pm line 65
        Term::ReadLine::Perl::new('Term::ReadLine', 'perldb', 'GLOB(0x1968f34)',
 'GLOB(0x1927e7c)') called at C:/Perl/lib/perl5db.pl line 6068
        DB::setterm called at C:/Perl/lib/perl5db.pl line 2241
        DB::DB called at quick_translate_missing.pl line 9
Attempt to reload Term/ReadLine/readline.pm aborted.
Compilation failed in require at C:/Perl/lib/Term/ReadLine/Perl.pm line 65.
END failed--call queue aborted at quick_translate_missing.pl line 65.
 at quick_translate_missing.pl line 65

"El sistema no puede hallar la ruta especificada". означает «Система не может найти указанный путь». Строка, на которую ссылается ошибка, взята из Perl.pm:

eval {require Term::ReadLine::readline}; die $@ if $@;

Насколько я понимаю, он не может найти Term::ReadLine::readline, но файл C:\Perl\lib\Term\ReadLine\readline.pm есть. Также PATH установлен правильно, так как я могу запускать интерпретатор Perl из любого места без указания пути.

Ошибка возникает только при использовании стандартного перенаправления output (>). Сценарий, переданный отладчику, не имеет значения, он падает на всех, если используется перенаправление вывода.

Любые подсказки? Заранее спасибо!


person m0skit0    schedule 15.09.2011    source источник


Ответы (1)


Это может не помочь вам, если у вас должна быть определенная версия perl, но я обнаружил ту же ошибку при установке perl 5.8.5. Я не мог не выполнить обновление на одной машине (по причинам устаревшего кода), но я запустил его в другой среде Perl с последней версией Perl (v5.14.2), и эта ошибка "отладчика" была решена (хотя я подозреваю, что вы можете получить тот же результат, обновив модули Term::ReadLine::*). Кстати, это касается не только ActivePerl — я видел это и в Linux.

person rholmes    schedule 22.02.2012
comment
Спасибо за ответ, хотя это уже не проблема :) - person m0skit0; 23.02.2012