2011-09-15 13 views
1

私はWindows XP上のActivePerlでPerlスクリプトを実行しようと奇妙なエラーを持っている:Perlのデバッガエラー:/Perl/lib/Term/ReadLine/Perl.pmライン65

>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 

」エルシステマの祝福はない」 「システムが指定されたパスを見つけることができません」という意味です。エラーが参照している行がPerl.pmからです:

eval {require Term::ReadLine::readline}; die [email protected] if [email protected]; 

私が理解するのreadline :: ::それは言葉を見つけることができないということReadLineのですが、ファイルC:\ Perlの\ libに\ターム\ ReadLineメソッド\ readline.pmはそこにあります。パスを指定せずにどこからでもperlインタープリタを実行できるので、PATHも正しく設定されています。

標準出力リダイレクト(>)を使用している場合にのみエラーが発生します。デバッガに渡されたスクリプトは問題ではありません。出力リダイレクトが使用されていると、すべてがクラッシュします。

手がかりはありますか?前もって感謝します!

答えて

1

に特定のperlバージョンが必要ですが、これは私のperl 5.8.5インストールでも同じエラーがあります。私はではなく、(従来のコードの理由で)1台のマシンでアップグレードしましたが、最新のperl(v5.14.2)で別のperl環境で実行しましたが、この "デバッガ"バグは解決されました。 Term :: ReadLine :: *モジュールを更新することによっても同じ結果が得られます)。ちなみに、これはActivePerl特有の問題ではありません - 私はLinuxでもこれを見ました。

+0

これはもう問題ではありませんが、答えをありがとう:) – m0skit0