kenosis - thank you VERY much for that. As someone already stated, very eloquent and nice and neat, to boot.
I've not had a chance to come back to this until now, but will hopefully have a chance in the next few days to have a "play" with it and get my head around what you're doing (nothing wrong with your code... it's my head that needs sorting out. I don't play with Perl anywhere NEAR as much as I need to for doing some of this stuff efficiently!)
Thanks for taking the time to do such an informative and helpful response... I'm quite sure I'll be able to make very good use of this.