#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my $max = Class2->new(NAME => 'MaxKlokan') ; $max->PrintHello(); print Dumper $max; exit; ####################### { package Class1; sub new { my $classname = shift; my $self = {@_}; $self->{NAME} = undef unless $self->{NAME}; $self->{AGE} = undef unless $self->{AGE}; bless($self,$classname); return $self; } sub PrintHello { my $this = shift; print "Hello $this->{NAME}\n";; } } ####################### { package Class2; require Class1; @Class2::ISA = qw(Class1); sub new { my $classname = shift; my $self = Class1->new(); $self->{TITLE} = undef unless $self->{TITLE}; bless($self,$classname); return $self; } }