MooseX::Role::WithOverloading - Roles which support overloading
package MyRole; use MooseX::Role::WithOverloading; use overload q{""} => 'as_string', fallback => 1; has message => ( is => 'rw', isa => 'Str', ); sub as_string { shift->message } package MyClass; use Moose; use namespace::autoclean; with 'MyRole'; package main; my $i = MyClass->new( message => 'foobar' ); print $i; # Prints 'foobar'
MooseX::Role::WithOverloading allows you to write a Moose::Role which defines overloaded operators and allows those operator overloadings to be composed into the classes/roles/instances it's compiled to, while plain Moose::Roles would lose the overloading.
Florian Ragwitz <rafl@debian.org>
Tomas Doran <bobtfish@bobtfish.net>
This software is copyright (c) 2012 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install MooseX::Role::WithOverloading, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Role::WithOverloading
CPAN shell
perl -MCPAN -e shell install MooseX::Role::WithOverloading
For more information on module installation, please visit the detailed CPAN module installation guide.