Thanks very much for that. You're right, I have been jolly confused about the differences between the two ways of using CGI.pm, and, as you can see, got around that confusion by ignoring it. Not a good long term strategy. But I think I do now understand it rather better, and I'm most grateful.
I must say I don't understand OO programming. And I feel I ought to, and I ought to use it for preference because it's... more advanced, grown up or something. This leads me into using it in ways I don't really understand what I'm doing - not a good thing. Perhaps I shouldn't get hung up on that, and just go with the functional approach which makes more intuitive sense to me.
§
George Sherston