I agree wholeheartedly with BUU. I'm rewriting Tree::Simple right now and I completely removed the visitor interface for exactly that reason. I'll give you an iterator over me and my children and you can implement the visitor interface if it's that important to you.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?