NAME
    Acme::CPANModules::Roles - Doing roles with Perl

VERSION
    This document describes version 0.001 of Acme::CPANModules::Roles (from
    Perl distribution Acme-CPANModules-Roles), released on 2020-05-04.

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.

INCLUDED MODULES
    *   Role::Tiny

    *   Moo::Role

    *   Moo

    *   Role::Basic

    *   Mouse::Role

    *   Mouse

    *   Moose::Role

    *   Moose

FAQ
  What are ways to use this module?
    Aside from reading it, you can install all the listed modules using
    cpanmodules:

        % cpanmodules ls-entries Roles | cpanm -n

    or Acme::CM::Get:

        % perl -MAcme::CM::Get=Roles -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n

    This module also helps lcpan produce a more meaningful result for "lcpan
    related-mods" when it comes to finding related modules for the modules
    listed in this Acme::CPANModules module.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Acme-CPANModules-Roles>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Acme-CPANModules-Roles>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANModules-Role
    s>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

SEE ALSO
    Acme::CPANModules - about the Acme::CPANModules namespace

    cpanmodules - CLI tool to let you browse/view the lists

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2020 by perlancar@cpan.org.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

