my @obj3s; while (CONDITION) { push @obj3s, Object3->new(); } my $obj2 = Object2->new(-children=>\@obj3s); # edited ... had the dreaded "=" without the ">" #### sub children { my $self = shift; @_ ? $self->{_children} = shift : $self->{_children}; } #### perl -e 'print "How sweet does a rose smell? "; chomp $n = ; $rose = "smells sweet to degree $n"; *other_name = *rose; print "$other_name\n"'