package B; with 'MyApp::Role::Logger'; sub do_b_ish_things { my $self = shift; $self->log( "doing b" ); for ( 1 .. 3 ) { my $a = A->new( val => $_ ); $a->do_a_ish_things; } $self->log( "done" ); }