Да, это называется perldoc
Вы просто пишете документацию в исходном коде, как и в случае с Javadoc.
Вкратце, "= item" - маркированный элемент, например, функция или параметр "= over" понижают уровень идентификации, "= back" повышают уровень. Используйте «= cut» там, где вы хотите переключиться обратно на код Perl.
Вот пример того, как это может выглядеть:
=item $b->add_module ( %options )
Initialize a module. A module is a repository or a branch of a repository.
Valid options are
=over
=item id
Id of this module
=item repo
Url of repository. Currently only subversion repositories are supported.
=back
=cut
sub add_module($%)
{
Просто передайте свой код perl через программу perldoc, чтобы получить отформатированную документацию.