in reply to Defensive Programming

In answer to your question, the answer is that it is quite possible.

You are using global variables with generic names. The simple act of using strict.pm and lexically scoping variables is a more effective way of being defensive than making minor syntax changes which you think should make a difference.