2012-12-01 56 views
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格式:

Messed up pod

有什麼好看的,自動化的方式來檢查,我沒有忘記把一個=headX(或其他東西)和下段之間的空間?

+1

問題是這不是錯誤,而是_feature_。 Pod認爲沒有空白的線條實際上是上面線條的延續,所以忘記空間意味着你真的只有一個很長的標題。 'podchecker'沒有抓住它,我還沒有看到任何工具。是的,這很煩人,因爲我做同樣的事情,但這不是一個真正的錯誤。 –

+1

是的,我明白了。我只是想知道是否有人生氣夠寫警告發生器或什麼的。 –

回答

1

滾動一些Perl代碼。原油,但它的作品。我留下寫main()給你。

sub do_pod_check 
{ 
    my (
     $path, 
     ) = @_; 

    my $troubles = 0; 
    open(my $handle, $path) or 
     die "Can not open file: $path: $!\n"; 

    while (my $line = <$handle>) 
    { 
     if ($line =~ /^=\w+/) 
     { 
      my $line2 = <$handle>; 
      if ($line2 && $line2 =~ /\S/) 
      { 
       $line2 =~ s/^\s+//; 
       $line =~ s/\s+$//;  #superchomp lines 
       $line2 =~ s/\s+$//; 
       print "$path\[$.]: suspect POD: /", 
           substr($line,0,30), "/", 
           substr($line2,0,30), "/", 
           "\n"; 
       $troubles++; 
      } 
     } 
    } 
    return $troubles; 
}