Front, Previous, Next

Hash::Case

Case preservation is a bit nastier and requires more memory for administration -- the other two classes come for free. The hash is still case insensitive, but the casing knowledge is preserved as well.

With an extra optional argument, you can specify whether the last or the first case-use for a key is remembered.