Как я могу избавиться от пустых строк Perl's Pod, чтобы они не отображались с Pod :: Usage? - PullRequest
2 голосов
/ 14 октября 2010

У меня есть следующий модуль, который я использовал с getopt :: long:

=head1 SYNOPSIS

foo [OPTION]... [URL]...

=head1 OPTIONS

=over 20

=item B<-h, --help>

Print a brief help message and exits.

=item B<-i, --input=FILE>

Reads from FILE

=back

=cut

и когда я предоставляю -h, он выдает:

Usage:
    foo [OPTION]... [URL]...

Options:
    -h, --help          Print a brief help message and exits.

    -i, --input=FILE    Reads from FILE

У меня вопрос: как убрать пустую строку между -h и -i?

1 Ответ

7 голосов
/ 14 октября 2010

Pod::Usage просто вызывает средство форматирования Pod, например perldoc или Text::Pod, чтобы генерировать сообщения об использовании вашего Pod. Код Pod, который вы написали, будет отформатирован с помощью пары пустых строк этими инструментами. Если вы не хотите этого, напишите другой Pod. Например

=over 4

=item B<-h>                     Print a brief help message and exits.

=item B<-i>, B<--input=FILE>    Reads from FILE

=back

К сожалению, это не будет выглядеть так хорошо при конвертации в другие форматы, такие как HTML, и вы теряете хорошее вертикальное выравнивание опций и их описаний. Однако, поскольку Pod::Usage действительно предназначен для программ командной строки, представляется разумным оптимизировать его для удобства чтения текста на терминале, вместо того, чтобы все выглядело хорошо в HTML или подобном.

...