3 # Run this to get a coverage analysis of the embedded documentation
6 use lib 'lib'; # to test distribution inside './lib'
9 print "Pod coverage analysis v1.00 (C) by Tels 2001.\n";
10 print "Using Pod::Coverage v$Pod::Coverage::VERSION\n\n";
12 print scalar localtime()," Starting analysis:\n\n";
14 my $covered = 0; my $uncovered; my $count = 0; my $c;
15 open FILE, 'MANIFEST' or die "Can't read MANIFEST: $!";
19 my ($file) = split /[\s\t]/,$_;
20 next unless $file =~ /^lib.*\.pm$/;
21 $file =~ s/^lib\///; # remove lib and .pm
23 $file =~ s/\//::/g; # / => ::
24 my $rc = Pod::Coverage->new( package => $file );
25 $covered += $rc->covered();
26 $uncovered += $rc->uncovered();
28 $c = $rc->coverage() || 0;
29 $c = int($c * 10000)/100;
30 print "$file has a doc coverage of $c%.\n";
31 my @naked = $rc->naked();
34 print "Uncovered routines are:\n";
35 print " ",join("\n ",sort @naked),"\n"; # sort by name
36 # could sort by line_num
41 my $total = $covered+$uncovered;
42 my $average = 'unknown';
43 $average = int(10000*$covered/$total)/100 if $total > 0;
46 print " sub routines total : $total\n";
47 print " sub routines covered : $covered\n";
48 print " sub routines uncovered: $uncovered\n";
49 print " total coverage : $average%\n\n";