Test::Pod 1.40 now checks for illegal L<> constructs

| 6 Comments

It will be interesting to see what, if anything, barfs because of the new Test::Pod.

This POD construct is illegal according to perlpodspec, and will not be formatted correctly on search.cpan.org, either:

L<perlbuzz|http://perlbuzz.com>

Test::Pod catches it now. My wonder is how many people are using it.

Test::Pod also requires Perl 5.8 now, and I'd like to think that pretty much every module on CPAN could use modern Perl versions at this point.

6 Comments

It looks like this makes Perl::Critic barf.

#   Failed test 'blib/lib/Perl/Critic/DEVELOPER.pod'
#   at /usr/local/share/perl/5.10.0/Test/Pod.pm line 219.
# blib/lib/Perl/Critic/DEVELOPER.pod (1055): L is invalid according to perlpod
# blib/lib/Perl/Critic/DEVELOPER.pod (1055): L is invalid according to perlpod

neomorphic.co.uk, that may be ironic, since critic is so picky with us, but the links from line 1055 of DEVELOPER.pod are indeed broken on search.cpan.org:

http://search.cpan.org/~elliotjs/Perl-Critic-1.098/lib/Perl/Critic/DEVELOPER.pod

Since the Test::Pod results are mainly for devs, they may be especially interested in knowing about this problem before they publish.

I know *I* was very surprised by this.

Perhaps one solution is to make L officially supported. But currently it is not.

I smoke-tested: from the 6093 CPAN distributions with a file matching /pod.t/ 28 failed because of Test::Pod 1.40.

No, 28 distributions failed because of invalid POD.

Leave a comment