I have used global variables in one form or another for years, and I have been constantly admonished that it is a bad thing to do. Could someone please provide a cogent argument why? I admit that it takes some care to avoid name clashes and other silly problems, but aside from such administrative considerations, what is the issue?