in reply to data structure question

Your problem is a symptom of a poorly designed program. Structured and Objected-Oriented designs have the same goal, reduce complexity by reducing data dependecies between components. I may be showing my age, but I believe that the former is easier, except in very large projects. In perl, we can freely mix the concepts when it makes sense. (e.g. You can use DBI in a structured program without knowing, or carring, that the 'handles' are really objects.)
Bill