2012-12-01 2 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

일부 펄 코드를 굴립니다. 조잡하지만 작동합니다. 나는 당신에게 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; 
}
관련 문제