package foo; sub new{ my $class = shift; my $base = shift; return bless { base_class => $base }, $class; } sub write{ my $self = shift; my $base = $self->{base_class}; print eval "\$self->$base\::read"; }