Tie::CPHash saved us a ton of work migrating from Sybase (case-sensitive column names) to Oracle (upper case column names). Our application slurps entire cross-reference tables into a lookup hash, which broke horribly under Oracle. Problem solved with Tie::CPHash and a two-line change. ++CJM!
It does what it says on the tin! Who could ask for more from this kind of module? I said to my self, I said, "I need a hash that will be case preserving and case insensitive," and then I searched the CPAN, and I found this. I replaced a few hashes with tied hashes, and my code worked as I wanted. That's all I ask from life.