in reply to how to avoid mis-spelling hash keys?
Tie::SecureHash is another module that can help you with this.
You might also want to consider Abigail-II's inside out objects as an alternate implementation mechanism for your classes.