/usr/share/perl5/Module/CPANTS/Kwalitee/Pod.pm is in libmodule-cpants-analyse-perl 0.85+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | package Module::CPANTS::Kwalitee::Pod;
use warnings;
use strict;
use Pod::Simple::Checker;
use File::Spec::Functions qw(catfile);
sub order { 100 }
##################################################################
# Analyse
##################################################################
sub analyse {
my $class=shift;
my $me=shift;
my $files=$me->d->{files_array};
my $distdir=$me->distdir;
my $pod_errors=0;
my @msgs;
foreach my $file (@$files) {
next unless $file=~/\.p(m|od|l)$/;
eval {
# Count the number of POD errors
my $parser=Pod::Simple::Checker->new;
my $errata;
$parser->output_string(\$errata);
$parser->parse_file(catfile($distdir,$file));
my $errors=()=$errata=~/Around line /g;
$pod_errors+=$errors;
push(@msgs,$errata) if $errata=~/\w/;
}
}
if (@msgs) {
# work around Pod::Simple::Checker returning strange data
my $errors=join("\n",@msgs);
$errors=~s/[^\w\d\s]+/ /g;
$me->d->{error}{no_pod_errors}=$errors;
}
}
##################################################################
# Kwalitee Indicators
##################################################################
sub kwalitee_indicators {
return [
{
name=>'no_pod_errors',
error=>q{The documentation for this distribution contains syntactic errors in its POD. Note that this metric tests all .pl, .pm and .pod files, even if they are in t/. See 'pod_message' in the dist error view for more info.},
remedy=>q{Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.},
code=>sub { shift->{error}{no_pod_errors} ? 0 : 1 },
},
];
}
q{Favourite record of the moment:
Fat Freddys Drop: Based on a true story};
__END__
=pod
=head1 NAME
Module::CPANTS::Kwalitee::Pod - Check Pod
=head1 SYNOPSIS
Check if the POD of a dist is syntactically correct.
=head1 DESCRIPTION
=head2 Methods
=head3 order
Defines the order in which Kwalitee tests should be run.
Returns C<100>.
=head3 analyse
C<MCK::Pod> uses C<Pod::Simple::Checker> to check if there are any syntactic errors in the POD.
It checks all files matching C</\.p(m|od|l)$/>.
=head3 kwalitee_indicators
Returns the Kwalitee Indicators datastructure.
=over
=item * no_pod_errors
=back
=head1 SEE ALSO
L<Module::CPANTS::Analyse>
=head1 AUTHOR
Thomas Klausner, <domm@cpan.org>, http://domm.zsi.at
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2003-2006, 2009 Thomas Klausner
You may use and distribute this module according to the same terms
that Perl is distributed under.
=cut
|