package Base; sub new { my $type = shift; my $self = {}; $self->{buz} = 42; return bless $self, $type; } package Derived; @ISA = qw( Base ); sub new { my $type = shift; my $self = Base->new; $self->{biz} = 11; return bless $self, $type; } package main; $a = Derived->new; print "buz = ", $a->{buz}, "\n"; print "biz = ", $a->{biz}, "\n";