Как я не могу pod2html рассматривать "= head2 open () foo" как определение функции? - PullRequest
1 голос
/ 05 апреля 2009

У меня есть POD, который выглядит как

=head2 C<close() on unopened filehandle %s>

=over

=item C<Yer tryna close() %s what ain't been opened yet>

=back

Команда pod2html превращает его в

<h2><a name="close____on_unopened_filehandle__s"><a href="#item_close"><code>close () on unopened filehandle %s</code></a></a></h2>
<dl>
<dt><strong><a name="item_close"><code>Yer tryna close() %s what ain't been opened yet</code></a></strong>

</dl>

Проблема в <a href="#item_close"></a>. Я предполагаю, что это делает это полезным (в общем случае, когда =item func() - начало определения функции), но в моем случае это неуместно (это предупреждающее сообщение).

Я попытался (но безуспешно) следующее, чтобы pod2html не видел =item open() в качестве определения функции:

=head2 C<closeZ<>() on unopened filehandle %s>

=head2 C<closeE<40>) on unopened filehandle %s>

=head2 C<closeE<0x28>) on unopened filehandle %s>

Последние два не печатают "(". Я неправильно использую E <>? Это ошибка в pod2html (я использую Perl 5.8.8 в OS X)?

Основываясь на мысли, что ответ Брайана зажегся, я попробовал другой эксперимент:

=head2 C<closeE<60>) on unopened filehandle %s>

Что должно было привести к <code>close<) on unopened filehandle %s, но вместо этого было получено <code>close) on unopened filehandle %s. Похоже, pod2html не любит числовые объекты.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2009

Похоже, Pod :: Html не любит числовые объекты внутри C<>, хотя perldoc не имеет с ними проблем. Если я снимаю C<> с

=head2 closeE<40>) on unopened filehandle %s

это работает просто отлично (и не позволяет pod2html создать ложную ссылку). Таким образом, ответ, кажется, не использовать C<> здесь.

0 голосов
/ 05 апреля 2009

Какую версию pod2html и Pod :: Html (или какую-либо загрузку вашего pod2html) вы используете? У меня на Mac есть Pod :: Html 1.0504, и он всегда будет пытаться сделать ссылку на первый экземпляр текста, который он видит в элементе =. Помните, вы всегда можете посмотреть на источник, чтобы понять, почему он что-то делает:)

И я бы не стал использовать C <> в заголовках. Пусть процессор выяснит, как их отображать.

Если вам нужны вложенные внутренние последовательности, вы можете добавить больше угловых скобок, чтобы их было легче распознать:

C<< closeE<40> >>

Несмотря на все это, я рекомендую вам использовать формат perldiag, который не делает ничего особенного с открытым пареном в предмете. Если вам не нравится ваш pod2html, напишите свой; с Pod :: Simple это действительно легко.

...