I favor a kind-of literal programming style with POD comments next to the code they document. Unfortunately this bloats the code, which is not very Perlish ;-) The best way I could find by now is to use Dist::Zilla with Pod::Weaver like that:
package Foo;
#ABSTRACT: Foobar helper module for Foos
=method foo ( $bar, $doz )
Lorem ipsum hopladi and hoplada.
=cut
sub foo {
...
}
One could argue to remove empty lines but this also decreases readability. Isn't there a way to write more concise without any repeating and unnecessary syntax like this:
package Foo;
#ABSTRACT: Foobar helper module for Foos
#METHOD: Lorem ipsum hopladi and hoplada.
sub foo { # $bar, $doz
...
}
And get this expanded to full POD:
=head1 NAME
Foo - Foobar helper module for Foos
=head1 METHODS
=head2 foo ( $bar, $doz )
Lorem ipsum hopladi and hoplada.
I think it should be possibly with a Pod::Weaver plugin but trying to understand the architecture of Pod::Weaver combined with Dist::Zilla and PPI made my brain hurt :-(
I will start by asking why do you need so concise documentation statements?
I have used Natural Docs, and I really like it. My style of documentation is not concise but I find it readable. Example:
Natural Docs is able to automatically pick the function or method name. Moreover I use it to document my javascript sources and global documentation, and can insert cross-links between them.