#! 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();