use strict; package A; sub doit { print "Called A\n"; } package B; sub doit { print "Called B\n"; } my $ref = []; bless $ref,"A"; $ref->doit(); bless $ref,"B"; $ref->doit();