Perldoc 中有关 perllocale 的错误是什么?
What is this error about perllocale in Perldoc?
我正在讨论 here 关于在 Perl 中设置无区域设置,并且被推荐给 运行 这个 perldoc perllocale
在 OSX Yosemite 10.10.3 但我得到错误:
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 错误是什么意思?
我猜测,perllocale.pod 文件应该包含 pod 格式的 perllocale 文档,但它是空的。
在线阅读相同的文档
我在 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 可以很好地处理此文件。
我正在讨论 here 关于在 Perl 中设置无区域设置,并且被推荐给 运行 这个 perldoc perllocale
在 OSX Yosemite 10.10.3 但我得到错误:
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 错误是什么意思?
我猜测,perllocale.pod 文件应该包含 pod 格式的 perllocale 文档,但它是空的。
在线阅读相同的文档我在 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 可以很好地处理此文件。