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

У меня есть следующий модуль, который я использовал с 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?


person jesper    schedule 14.10.2010    source источник
comment
Мне нравится лишняя строчка. Дайте нам, старикам, передохнуть. Каждый год мне приходится увеличивать шрифт терминала!   -  person brian d foy    schedule 14.10.2010


Ответы (1)


Pod::Usage просто вызывает модуль форматирования модуля, например perldoc или Text::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 или подобном.

person rafl    schedule 14.10.2010