/usr/share/perl5/Pod/Coverage/CountParents.pm is in libpod-coverage-perl 0.21-1.
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 | package Pod::Coverage::CountParents;
use strict;
use Pod::Coverage ();
use base 'Pod::Coverage';
# this code considered lightly fugly :)
sub _get_pods {
my $self = shift;
my $package = $self->{package};
eval qq{ require $package };
if ($@) {
$self->{why_unrated} = "Couldn't compile '$package' to inspect: $@";
return;
}
my %pods;
$pods{$package} = $self->SUPER::_get_pods;
__walk_up($package, \%pods);
my %flat = map { $_ => 1 } map { @{ $_ || [] } } values %pods;
return [ keys %flat ];
}
sub __walk_up {
my $package = shift;
my $pods = shift;
$pods->{$package} = Pod::Coverage->new(package => $package)->_get_pods();
my @parents;
{
no strict 'refs';
@parents = @{"$package\::ISA"};
}
do { $pods->{$_} || __walk_up($_, $pods) } for @parents;
}
1;
__END__
=head1 NAME
Pod::Coverage::CountParents - subclass of Pod::Coverage that examines the inheritance tree
=head1 SYNOPSIS
# all in one invocation
use Pod::Coverage::CountParents package => 'Fishy';
# straight OO
use Pod::Coverage::CountParents;
my $pc = new Pod::Coverage::CountParents package => 'Pod::Coverage';
print "We rock!" if $pc->coverage == 1;
=head1 DESCRIPTION
This module extends Pod::Coverage to include the documentation from
parent classes when identifying the coverage of the code.
If you want full documentation we suggest you check the
L<Pod::Coverage> documentation.
=head1 SEE ALSO
L<Pod::Coverage>, L<base>
=head1 AUTHOR
Copyright (c) 2002 Richard Clamp. All rights reserved. This program
is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.
=cut
|