in reply to Performance Question

My understanding is that this won't make a difference. You won't get warnings if $name_x isn't defined because, despite the fact that the if statement comes after the substitution statement, it's executed first. I don't think there will be a significant enough performance difference (someone else might be able to answer this from an internal perspective?), but you could Benchmark it.