in reply to Re^2: undefined hash elements
in thread undefined hash elements
This particular form of defensive programming is sometimes called "fortressing", meaning it tries to keep bad data from getting in. The reciprocal function is called, if memory serves, "dungeoning", which is trapping bad data where it can do no harm. I don't know if I can think of any examples of where that approach serves much use -- which probably means I don't know as much about it as I thought I did. :-)