#fourth: #self->{_$superclass[1].$superclass[2]} = new $name; #that's not what you want, you want: $self->{ "_$superclass[1].$superclass[2]" } = ...;