well remember that $leaves is an array. So you need to give it an element in the array to constrain to. I'm surprised that using $leaves as you are even works
so you need to do something like
pointConstraint -offset 0 0 0 -weight 1 $leaves[5] $new;
or you could build up a string like what you have done for the $new variable where you add a suffix and stem to a randomly selected array index. does that make sense?
And as for resources I never bought a book or anything like that. Giving yourself projects like this and using the mel script resources are the best ways of learning IMHO
Alan
Technical Director - Framestore
Currently working on: Your Highness
IMDB