sub new { return bless {}, shift; } sub build { my $self = shift; my $sub_obj = Other::Class->new; push @{ $self->{sub_objects} }, $sub_obj; return $sub_obj; } #### my $parent = Obj->new; my $sub_obj_1 = $parent->build; my $sub_obj_2 = $parent->build; for (@{ $parent->{sub_objects} }){ print $_->name . "\n"; }