I have indeed shown that it is an error - in the post preceding the one where I made that statement. To recap: you declare a variable in one part of a large program. Later, when adding code, you unintentionally declare the same variable again in another part of the program. You've just smashed the first one, and caused errors in any code that depended on it.
The error is not that $x now contains 10. The error is that this can happen at all, with minimal (if any, depending on externals) warnings.
I hate storms, but calms undermine my spirits.
-- Bernard Moitessier, "The Long Way"