Если вы обратитесь к странице руководства для perldoc; man perldoc
вы читаете:
"perldoc" also searches directories specified by the
"PERL5LIB" (or "PERLLIB" if "PERL5LIB" is not defined) and
"PATH" environment variables. (The latter is so that embedded
pods for executables, such as "perldoc" itself,are available.)
Итак, вы видите, обычные места, которые могут быть найдены ищутся библиотеки модулей, но и каталоги, указанные в вашем $ PATH переменной окружения. Последнее может стать неожиданностью, но, как объясняет справочная страница, как еще будет проверяться POD в домашних сценариях.
Ваш вопрос действительно зависит от вашей среды так, я ничего не могу сказать авторитетным, но я бы поспорить, что в некоторых местах (т.е. некоторые машины) ваши $ PATH включает «» - текущий каталог - для удобства, но на других машинах, "." исключается из $ PATH на охраняемых территориях.
В противном случае, вы можете получить бегущий комментарий о том, где perldoc ищет POD с помощью опции -D CLI:
$ perldoc -D myscript.pl
Ending switch processing. Args are [myscript.pl] with 0 errors.
Pagers: /usr/bin/sensible-pagermorelesspgviewcat/usr/bin/perldoc => Pod::Perldoc v3.23
Formatter class Pod::Perldoc::ToTerm version 3.23 successfully loaded!
Will format with the class Pod::Perldoc::ToTerm
Searching for myscript.pl
Looking for myscript.pl in /usr/bin /etc/perl /usr/local/lib/x86_64-linux-gn
u/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20
/usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20
/usr/local/lib/site_perl . /opt/perl6/share/perl6/site/bin /opt/perl6/bin
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
No documentation found for "myscript.pl".
$
Я намеренно выбрал «myscript.pl», потому что я не» У меня есть такой скрипт. Вы видите отчетливо везде, где это выглядит - это должно выявить, где проблема. Наконец, наконец, вы можете использовать -F
, чтобы явно указать, какой файл вывести из POD. Это можно использовать, чтобы узнать, является ли проблема POD в самом файле: perldoc -F ./myscript.pl
Попробуйте такие вещи, как 'type perldoc', make убедитесь, что сценарий существует в текущем каталоге или в $ PATH. Какие версии Perl задействованы? – choroba
perldoc отлично работает, это не проблема ... perl 5.18.2 работает нормально в Mac OS, но такая же версия не работает на Debian, поэтому я не думаю, что это связано с версией – tvs
Где находится скрипт в Mac OS X ? Где скрипт на Debian? Каков ваш текущий каталог при запуске 'perldoc myscript.pl' в Mac OS X и Debian? –