Acme-CPANModules
view release on metacpan or search on metacpan
},
},
}
That's it. After you have completed your list, publish your
Acme::CPANModules module to CPAN.
Here's a sample of one of the simplest $LIST you can have:
$LIST = {
summary => 'Modules that predict the future',
entries => [
{module=>'Zorb'},
{module=>'Madame::Zita'},
],
};
Here's another, more expanded sample:
$LIST = {
summary => 'Modules that predict the future',
description => <<'_',
This list catalogs modules that predict the future. Yes, the future is
unpredictable. But we can try anyway, right?
_ entries => [ { module => 'Zorb', summary => 'Contact the API for the
strange crystal Zorb', description => <<'_',
This module is an API client to Zorb, a strange crystal that supposedly
fell from the sky in 2017 near Ozark, that can change color depending on
what you feed to it. The API connects to Zorb API server managed by
Crooks, Inc.
_ }, { module => 'Madame::Zita', summary => 'Ask Madame Zita the fortune
teller', }, ], };
For more examples, see existing "Acme::CPANModules::*" modules on CPAN.
If you are using Dist::Zilla to release your distribution, this
Pod::Weaver plugin might be useful for you:
Pod::Weaver::Plugin::Acme::CPANModules. It will create an "=head2
Included modules" section which is POD rendering of your module list so
users reading your module's documentation can immediately read your
list.
RECOMMENDATIONS
module name
An Acme::CPANModules module is named under "Acme::CPANModules::"
namespace.
A personal list should go under your CPAN ID's subnamespace, e.g.
"Acme::CPANModules::YOURCPANID::Favorite" or
"Acme::CPANModules::YOURCPANID::Avoided".
Avoid having "Modules" in the name as it is superfluous, e.g.
"Acme::CPANModules::TextTable" instead of
"Acme::CPANModules::TextTableModules".
Verb is preferrably written in present participle form, e.g. for a list
of modules that parse JSON: "Acme::CPANModules::ParsingJSON" instead of
"Acme::CPANModules::ParseJSON".
Noun that refers to the modules (entries) is preferrably written in
plural forms, e.g. "Acme::CPANModules::JSONParsers" instead of
"Acme::CPANModules::JSONParser".
list summary
The list summary normally becomes the Acme::CPANModules module's
Abstract.
It is recommended to start the summary with "List of modules which/that"
or "List of my ... modules" to make it clearer that the
Acme::CPANModules module only contains a list of other modules, instead
of an actual implementation.
Some preferred examples:
Some non-preferred examples:
entry rating
Should only be used for personal lists.
module bundle name
A distribution that contains several "Acme::CPANModules::*" modules
should be named "Acme-CPANModulesBundle-*".
In general, an "Acme::CPANModulesBundle::" module should be named like
an "Acme::CPANModules::*" module. See recommendations in "module name".
module bundle abstract
An "Acme::CPANModulesBundle::" module should have abstract that begins
with "Bundle of ...".
other modules
Other suggested namespaces:
* "Acme::CPANModulesUtil::",
Utility modules that do not contain lists of modules themselves.
* "Acme::CPANModulesUtilBundle::",
For distribution that contains several "Acme::CPANModulesUtil::*"
modules.
* "Acme::CPANModulesRole::"
For role related to "Acme::CPANModules".
* "Acme::CPANModulesRoleBundle::"
For distribution that contains several "Acme::CPANModulesRole::"
modules.
USING ACME::CPANMODULES MODULES
You can install the cpanmodules CLI script (from the App::cpanmodules
distribution). It can list installed Acme::CPANModules modules and view
list entries. To install all modules listed on an Acme::CPANModules
module, you can do something like:
% cpanmodules ls-entries Org | cpanm -n
Putting similar/related modules together in an Acme::CPANModules can
also help the lcpan script find related modules ("lcpan related-mods").
See the lcpan documentation or "lcpan related-mods --help" for more
details.
As mentioned earlier, a website/online service that collects and indexes
all Acme::CPANModules modules on CPAN is coming in the future.
Meanwhile, there's MetaCPAN.
HOMEPAGE
Please visit the project's homepage at
<https://metacpan.org/release/Acme-CPANModules>.
SOURCE
Source repository is at
<https://github.com/perlancar/perl-Acme-CPANModules>.
( run in 1.660 second using v1.01-cache-2.11-cpan-39bf76dae61 )