It is far more likely than not that the arrow operator will be used as the code develops - in my case I can't even remember when I last used a hash without the arrow operator in actual work. My intention is to suggest that defined is a better habit to get into then exists and now is the time to mention it before the OP code develops further.