#! /usr/bin/perl use warnings ; use MyModel ; use newModel ; my $m = MyModel->new() ; Class::Trait->apply( $m, newModel ) ; # polymorphic stuff here :) $m->test() ; $m->newTest() ; #### package MyModel ; sub test { print "MyModel\n" ; } sub new { return bless {}, __PACKAGE__ ; } return 1 ; #### package newModel ; use Class::Trait 'base' ; sub test { print "add test\n" ; } sub newTest { print "add new test\n" ; } return 1 ;