package Inner; sub new { my $type = shift; my $self = {}; $self->{buz} = 42; return bless $self, $type; } package Outer; sub new { my $type = shift; my $self = {}; $self->{Inner} = Inner->new; $self->{biz} = 11; return bless $self, $type; } package main; $a = Outer->new; print "buz = ", $a->{Inner}->{buz}, "\n"; print "biz = ", $a->{biz}, "\n";