Thanks for all the replies. I take the point about well formed data for keys and normally I would not want to do such a thing.
However, there are reasons why it is OK in this case.
The grep suggestion does just what I want.
Comment on Re^2: Case insensitive hash key existance
Be warned of the massive performance hit. It replaces an O(1) lookup with than O(N) lookup. That's not good, but it's not so bad ...except that this is likely used in another another loop. Then that O(N) or O(N^2) loop because O(N^2) or O(N^3), and things start to crawl.