Acme-CPANModules-Roles
view release on metacpan or search on metacpan
NAME
Acme::CPANModules::Roles - List of libraries for doing roles with Perl
VERSION
This document describes version 0.002 of Acme::CPANModules::Roles (from
Perl distribution Acme-CPANModules-Roles), released on 2023-10-31.
DESCRIPTION
Roles are a way to write classes by composing them from simpler
components, instead of using inheritance from parent classes.
The Perl core does not provide a role mechanism for you, but there are
several role frameworks you can choose in Perl. This list orders them
from the most lightweight.
Role::Tiny. Basic role support plus method modifiers ("before", "after",
"around").
Moo::Role. Based on Role::Tiny, it adds attribute support. Suitable if
you use Moo as your object system.
Role::Basic. Despite having less features than Role::Tiny (no method
modifiers), Role::Basic starts a bit slower because it loads some more
modules.
Mouse::Role. Suitable only if you are already using Mouse as your object
system.
Moose::Role. Offers the most features (particularly the meta protocol),
but also the heaviest. Suitable only if you are already using Moose as
your object system.
ACME::CPANMODULES ENTRIES
Role::Tiny
Author: HAARG <https://metacpan.org/author/HAARG>
Moo::Role
Author: HAARG <https://metacpan.org/author/HAARG>
Moo Author: HAARG <https://metacpan.org/author/HAARG>
Role::Basic
Author: OVID <https://metacpan.org/author/OVID>
Mouse::Role
Author: SKAJI <https://metacpan.org/author/SKAJI>
Mouse
Author: SKAJI <https://metacpan.org/author/SKAJI>
Moose::Role
Author: ETHER <https://metacpan.org/author/ETHER>
Moose
Author: ETHER <https://metacpan.org/author/ETHER>
FAQ
What is an Acme::CPANModules::* module?
An Acme::CPANModules::* module, like this module, contains just a list
of module names that share a common characteristics. It is a way to
categorize modules and document CPAN. See Acme::CPANModules for more
details.
What are ways to use this Acme::CPANModules module?
Aside from reading this Acme::CPANModules module's POD documentation,
you can install all the listed modules (entries) using cpanm-cpanmodules
script (from App::cpanm::cpanmodules distribution):
% cpanm-cpanmodules -n Roles
Alternatively you can use the cpanmodules CLI (from App::cpanmodules
distribution):
% cpanmodules ls-entries Roles | cpanm -n
or Acme::CM::Get:
% perl -MAcme::CM::Get=Roles -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n
or directly:
% perl -MAcme::CPANModules::Roles -E'say $_->{module} for @{ $Acme::CPANModules::Roles::LIST->{entries} }' | cpanm -n
( run in 0.966 second using v1.01-cache-2.11-cpan-39bf76dae61 )