$server->setcallback( data => \&gotdata, connect => \&connected, disconnect => \&disconnected, ) || die "Error setting callbacks: $@\n"; #### package ParentClass; # [...] sub init_server { my $self = shift; # [...] $self->{'server'}->setcallback( data => \&gotdata, # this coderef is wrong connect => \&connected, # and this disconnect => \&disconnected, # this too ) || die "Error setting callbacks: $@\n"; # [...] } sub gotdata { my $self = shift; # [...] } package ChildClass; use ParentClass; @ISA = qw(ParentClass); sub gotdata { my $self = shift; # [...] }