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


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:


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.


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:


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

Job hunting for programmers

Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.