in reply to my $self is stumped!

It sounds like you are trying to store two different objects in the same object. Instead of having child override anything, give it an additional $self->{mom} attribute that is its own person.

A really horrible way to fix it would be to have child::introduce do

my $oldclass = ref $self; bless $self, "person"; print "Here's my mom: "; $self->introduce(); bless $self, $oldclass;