我正在讨论here关于在Perl中没有设置语言环境的问题,并建议在OSX Yosemite 10.10.3中运行此perldoc perllocale
,但我收到错误:
Error while formatting with Pod::Perldoc::ToMan:
at /System/Library/Perl/5.18/Pod/Perldoc.pm line 1346.
at /usr/bin/perldoc5.18 line 11.
Got a 0-length file from /System/Library/Perl/5.18/pods/perllocale.pod via Pod::Perldoc::ToMan!?
at /usr/bin/perldoc5.18 line 11.
which perldoc
给出了/usr/bin/perldoc
所以应该是正确的。
echo $PATH
给出了
/usr/local/bin:/usr/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/masi/.cabal/bin
我注意到那里有两次文件夹,但可能的覆盖不应该是问题的原因。
我的.bashrc
为空,.profile
只有export LANG=en_US.UTF-8
。
这个Perldoc错误是什么意思?
答案 0 :(得分:3)
我在OSX Yosemite 10.10.3上得到了完全相同的错误
bessarabov@bessarabov-osx:~$ perldoc perllocale
Error while formatting with Pod::Perldoc::ToMan:
at /System/Library/Perl/5.18/Pod/Perldoc.pm line 1346.
at /usr/bin/perldoc5.18 line 11.
Got a 0-length file from /System/Library/Perl/5.18/pods/perllocale.pod via Pod::Perldoc::ToMan!?
at /usr/bin/perldoc5.18 line 11.
bessarabov@bessarabov-osx:~$
命令perldoc -l perllocale
显示文件的路径:
bessarabov@bessarabov-osx:~$ perldoc -l perllocale
/System/Library/Perl/5.18/pods/perllocale.pod
bessarabov@bessarabov-osx:~$
该文件不为空,我已将其保存到https://gist.github.com/bessarabov/20370992150a332dc0f0
OSX Yosemite 10.10.3有perldoc版本3.19:
bessarabov@bessarabov-osx:~$ perl -MPod::Perldoc -E 'say $Pod::Perldoc::VERSION'
3.19
bessarabov@bessarabov-osx:~$
您可以运行PERLDOCDEBUG=5 perldoc perllocale
查看一些调试信息 - 这是日志https://gist.github.com/bessarabov/6e09b4e491d5a00c6304,但它不是很有用。
我试图找出perldoc失败的原因。我没有确切的答案,但问题在于文件/System/Library/Perl/5.18/Pod/Perldoc/ToMan.pm
中的这部分代码:
while( $offset <= $length ) {
$self->debug( "Writing chunk $chunks\n" ); $chunks++;
syswrite $writer, ${ $self->{_text_ref} }, $chunk_size, $offset
or $self->die( $! );
$offset += $chunk_size;
...
}
此循环的几个互动有效,但随后syswrite
死亡,$!
没有关于错误的信息。
我能够使用其他解析器阅读文档:
perldoc -MPod::Perldoc::ToText perllocale
解决此问题的另一种方法是更新到最新版本的Pod::Perldoc - perldoc 3.25可以正常使用此文件。
答案 1 :(得分:2)
猜测一下,我会说perllocale.pod文件应该是空格式的,该文件应该是pod格式的perllocale文档。
在线阅读相同的文档