Как добавить несколько стручков в конце моего сценария Perl?
-
13-10-2019 - |
Вопрос
Я работал с учебником, найденным в документации Perl о том, как использовать Getopt :: long в сценарии. Там он показывает, как добавить документацию, используя POD :: Использование Вместо того, потом приходится набирать все подпрограмму или что -то в этом роде. Во всяком случае, в примере у них есть это;
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, когда я пытаюсь его отобразить, я встретил командную строку, как и выйти, а затем без показах. Я делаю что-то неправильно?
Решение
Вам не нужны "несколько стручков".
pod2usage
, когда называется как, например, pod2usage(1)
, здесь 1 представляет статус выхода, а уровень сложности подразумевается как 1, поэтому он будет печатать SYNOPSIS
, и любые разделы под названием OPTIONS
, ARGUMENTS
или же OPTIONS AND ARGUMENTS
Когда называется как pod2usage(-exitval => 0, -verbose => 2)
, он будет распечатать всю стручку, в вашем текстовом пейджере (идентично чему perldoc yourscriptname.pl
подойдет) и выйдет с 0
. Анкет (Обратите внимание, что это -exitval
и не -exitstatus
).
Это хорошо описано в Pod::Usage
документация здесь, и работает так же, как описано.
Вы можете найти необязательный -sections
параметр к pod2usage
полезно для того, что вы описали, в сочетании с -verbose => 1
, чтобы выбрать то, что вы хотите отобразить.