pod2usage perl (-verbose => 2) показывает исходный код вместо отформатированной документации
Согласно документации Pod:: Usage, с pod2usage(-verbose => 2)
msgstr "напечатана вся справочная страница". Однако в некоторых случаях исходный код perl для скрипта отображается вместо правильно отформатированной man-страницы.
Вот пример:
use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);
__END__
=head1 NAME
Minimal example
=head1 SYNOPSIS
This is the synopsys section.
=cut
Запуск скрипта:
$ perl test.perl
You need to install the perl-doc package to use this program.
use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);
__END__
=head1 NAME
Minimal example
=head1 SYNOPSIS
This is the synopsys section.
=cut
1 ответ
Проблема в том, что pod2usage
использует программу командной строки perldoc
, Если эта программа не установлена, то форматирование не выполняется, и вы получите полный исходный код в выводе.
Обратите внимание, что в вопросе текст "You need to install the perl-doc package to use this program.
В выводе появляется ", чтобы дать вам подсказку о том, что происходит (но когда текст справки длинный и передан на пейджер, эта строка не всегда видна).
Решение: установите perldoc (например, apt install perl-doc
на Ubuntu). После этого:
$ perl test.perl
NAME
Minimal example
SYNOPSIS
This is the synopsys section.