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 >