in reply to Writing general code: real world example - and doubts!

Great question! I look forward to reading the replies you get, since I often find myself in a similar mess. It's hard to find the right balance between flexibility and simplicity, but I am making an effort to err on the side of simplicity, to focus primarily on something that can solve today's problems, while being mindful that these problems will evolve (i.e. don't hard-code every magic number, IP address, and pathname in your program, etc.). The trickiest are the interfaces, of course, because you are trying to anticipate interaction and that is bewildering. Here's where I'm being most emphatic about keeping things simple, offering fewer options to begin with, and refactoring up as needed. (Your discussion elsewhere of choosing between using map or making your subs capable of handling any number of elements is a good one; I'd start with the map option, and upgrade to the "listable" option if it turns out to be really useful.

But as I said, I am as much in need of clues as you are, so take what I am saying with a bucket of salt.

the lowliest monk