Как добавить несколько POD в конец моего Perl-скрипта? - PullRequest
0 голосов
/ 20 января 2011

Я работал с руководством, найденным в документации perl о том, как использовать Getopt :: Long в скрипте.Там показано, как добавить документацию, используя Pod :: Usage вместо того, чтобы вводить все из подпрограммы или чего-то еще.Как бы то ни было, в примере у них это есть:

    GetOptions('help|?' => \$help, 'b|backup' => \&backup, d|discover => \&discover, man => \$man) or pod2usage(2);
pod2usage(1) if $help;
pod2usage(-exitstatus => 0, -verbose => 2) if $man;

Я добавил некоторые свои аргументы.

Я понял, как ссылаться на первый раздел документации.Но как мне обратиться ко второму разделу, как указано в pod2usage(2)?

Когда я добавляю новый раздел после =cut в конце раздела 1, когда я пытаюсь отобразить его, явстретился с командной строкой, как будто он вошел, а затем вышел без показа раздела.Я что-то не так делаю?

1 Ответ

3 голосов
/ 20 января 2011

Вам не нужны «несколько POD».

pod2usage, когда вызывается как, например, pod2usage(1), здесь 1 представляет состояние выхода, а уровень многословия подразумевается как 1,поэтому он напечатает SYNOPSIS и любые разделы с названиями OPTIONS, ARGUMENTS или OPTIONS AND ARGUMENTS

При вызове pod2usage(-exitval => 0, -verbose => 2), он напечатает всю POD внутри вашего текстового пейджера(идентично тому, что сделал бы perldoc yourscriptname.pl) и выйдите с 0.(Обратите внимание, что это -exitval, а не -exitstatus).

Это хорошо описано в Pod::Usage документации здесь и работает так же, как описано.

Youможет найти необязательный параметр -sections для pod2usage, полезный для того, что вы описали, в сочетании с -verbose => 1, чтобы выбрать и выбрать то, что вы хотите отобразить.

...