Kid.pm (parent) ------ package Kid; sub new { bless .... } sub getSex { print("I am unisex \n"); } Son.pm ------ package Kid::Son; @ISA = qw(Kid); use Kid; sub getSex { print("I am a boy \n"); } Daugther.pm ----------- package Kid::Daugther; @ISA = qw(Kid); use Kid; sub getSex { print("I am a girl \n"); } test.pl ------- #!/usr/bin/perl use Kid; use Kid::Son; use Kid::Daugther; # Create Instances $kid = Kid->new(); $son = Kid::Son->new(); # 1. Its OK $kid->getSex(); # 2. Its OK too $son->getSex(); # 3. Its not OK $kid->son->getSex(); # I know its wrong !