The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Moo::Role - Minimal Object Orientation support for Roles

SYNOPSIS

 package My::Role;

 use Moo::Role;

 sub foo { ... }

 sub bar { ... }

 has baz => (
   is => 'ro',
 );

 1;

else where

 package Some::Class;

 use Moo;

 # bar gets imported, but not foo
 with('My::Role');

 sub foo { ... }

 1;

DESCRIPTION

Moo::Role builds upon Role::Tiny, so look there for most of the documentation on how this works. The main addition here is extra bits to make the roles more "Moosey;" which is to say, it adds "has".

IMPORTED SUBROUTINES

See "IMPORTED SUBROUTINES" in Role::Tiny for all the other subroutines that are imported by this module.

has

 has attr => (
   is => 'ro',
 );

Declares an attribute for the class to be composed into. See "has" in Moo for all options.