# Parent sub get_child_id { my $self=shift; my $child=shift; # Find the index of the child. Left as exercise for the reader (read: I'm too lazy :) ). return $child_index; } #### # Child sub whereami { my $self=shift; my $parent=$self->{'parent'}; my $id=$parent->get_child_id($self); } #### my $self = { parent => \$parent; }; #### my $self= { parent => $parent }; #$parent is a ref, you were storing a ref to $parent