1

我有一些看起来像的 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 中的错误(我在 OS X 上使用 Perl 5.8.8)吗?

基于一个思想布赖恩的回答引发我尝试了另一个实验:

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

这应该导致<code>close<) on unopened filehandle %s</code>,但它却产生<code>close) on unopened filehandle %s</code>了。所以它看起来pod2html不喜欢数字实体。

4

2 回答 2

0

您使用的是哪个版本的 pod2html 和 Pod::Html(或任何您的 pod2html 加载)?我在我的 Mac 上使用的是 Pod::Html 1.0504,并且将始终尝试在它在 =item 中看到的文本的第一个实例上创建链接。请记住,您始终可以查看源代码以了解它为什么这样做:)

而且,我会避免在标题中使用 C<>。让处理器弄清楚如何显示这些。

如果你想要嵌套的内部序列,你可以添加更多的尖括号以使其更容易识别:

C<< closeE<40> >>

尽管如此,我还是建议您使用 perldiag 格式,它对项目中的 open paren 没有任何特殊作用。如果您不喜欢现有的 pod2html,请自己编写;使用 Pod::Simple 真的很容易。

于 2009-04-04T20:44:06.007 回答
0

看起来 Pod::Html 不喜欢里面的数字实体,C<>即使perldoc它们没有问题。如果我C<>脱掉

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

它工作得很好(并防止pod2html创建虚假链接)。所以答案似乎是不要C<>在这里使用。

于 2009-04-04T21:43:40.277 回答