1

我使用 Dist::Zilla 和一堆插件来检查我的 pod,包括语法、链接、覆盖率等。我一直重复的一个非常烦人的 POD 错误是忘记在 ; 之后添加额外的行=headX。例如,我刚刚创建了一个带有 pod 的模块,如下所示:

=head1 METHODS

=head2 C<wm_graph>
There are three required arguments: ...
If the first arg is ...

当然,我去查看 CPAN 页面并意识到我搞砸了,因为整个段落都是 head2 格式:

搞砸的豆荚

有没有什么好的、自动化的方法来检查我没有忘记在 a =headX(或其他任何东西)和下一段之间放置空格?

4

1 回答 1

1

滚动一些 perl 代码。粗鲁,但它有效。我把 main() 写给你。

子 do_pod_check
{
    我的 (
        $路径,
         ) = @_;

    我的 $ 麻烦 = 0;
    打开(我的 $handle,$path)或
        die "无法打开文件:$path: $!\n";

    而(我的 $line = <$handle> )
    {
        如果 ( $line =~ /^=\w+/ )
        {
            我的 $line2 = <$handle>;
            如果 ( $line2 && $line2 =~ /\S/ )
            {
                $line2 =~ s/^\s++//;
                $line =~ s/\s+$//; #superchomp 行
                $line2 =~ s/\s+$//;
                print "$path\[$.]: 可疑 POD: /",
                                substr($line,0,30), "/",
                                substr($line2,0,30), "/",
                                "\n";
                $麻烦++;
            }
        }
    }
    返回$麻烦;
}
于 2012-12-02T02:16:15.907 回答