Many thanks all these replies are most useful! blue_cowdawg yes that is exactly what I'm after and I think half my problem is not fully understanding the hash construct and its terminology.
So blue_cowdawg please don't be offended :o) but whilst I've tried your code and it does exactly what I want I'm not going to use it. Instead I'm going to spend a bit of time working through that excellent post from muba until that switch flicks and I can code what I want! I'll use yours if I fail ;o)
I suspect it's actually more straight forward than I think and in addition my old C programming days from 15+ years are possibly confusing my understanding. Perl feels like C to me.
Interestingly I now find ksh, although still highly useful, ****** awful to write and prefer the style of Perl.