package FragileDancer { use Role::Tiny::With; with "Fragile"; with "Dancer"; ... #### package FragileDancer { use Role::Tiny::With; with 'Fragile', 'Dancer'; ... #### Due to a method name conflict between roles 'Dancer and Fragile', the method 'break' must be implemented by 'FragileDancer' at C:\Perl\lib\perl5/Role/Tiny.pm line 183. #### #! perl use strict; use warnings; package Fragile { use Role::Tiny; sub break { print shift->{name}, " is being damaged!\n"; } } package Dancer { use Role::Tiny; sub break { print shift->{name}, " is break dancing!\n"; } } package FragileDancer { use Role::Tiny::With; with 'Fragile', 'Dancer'; sub break { print 'For ', shift->{name}, " FragileDancer::break\n"; } sub new { my ($class, $name) = @_; my $self = { name => $name }; return bless $self, $class; } } my $fg = FragileDancer->new('Nina'); $fg->break(); #### 23:44 >perl 655_SoPW.pl Due to a method name conflict between roles 'Dancer and Fragile', the method 'break' must be implemented by 'FragileDancer' at C:\Perl\lib\perl5/Role/Tiny.pm line 183. 23:44 >