in reply to How do I convert entire hash to lowercase?

Sure, you have a reference; you can modify it. I don't know if this is exactly what you want. It doesn't allow for keys which differ only by case having different values:

sub DeAOL { for ( keys %{$_[0]} ) { my $tmp = lc $_[0]->{$_}; delete $_[0]->{$_}; $_[0]->{lc $_} = $tmp; } }

After Compline,
Zaxo