}
sub output {
- my ($podname, $header, $dochash, $footer) = @_;
+ my ($podname, $header, $dochash, $missing, $footer) = @_;
my $filename = "pod/$podname.pod";
open my $fh, '>', $filename or die "Can't open $filename: $!";
print $fh "\n=back\n";
}
+ if (@$missing) {
+ print $fh "=head1 Undocumented functions\n\n";
+ print $fh "These functions are currently undocumented:\n\n=over\n\n";
+ for my $missing (sort @$missing) {
+ print $fh "=item $missing\nX<$missing>\n\n";
+ }
+ print $fh "=back\n\n";
+ }
+
print $fh $footer, <<'_EOF_';
=cut
# walk table providing an array of components in each line to
# subroutine, printing the result
-output('perlapi', <<'_EOB_', $docs{api}, <<'_EOE_');
+my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && !$docs{api}{$_}, keys %funcflags;
+output('perlapi', <<'_EOB_', $docs{api}, \@missing_api, <<'_EOE_');
=head1 NAME
perlapi - autogenerated documentation for the perl public API
_EOE_
-output('perlintern', <<'END', $docs{guts}, <<'END');
+my @missing_guts = grep $funcflags{$_}{flags} !~ /A/ && !$docs{guts}{$_}, keys %funcflags;
+
+output('perlintern', <<'END', $docs{guts}, \@missing_guts, <<'END');
=head1 NAME
perlintern - autogenerated documentation of purely B<internal>