in reply to Force nested hashes to upper/lower case keys

It looks like the key deletion needs a bit more checking first. You're deleting all the keys even if they already conform to the capitalization rules. Try running a hash through your functions twice in a row. I think you'll be surprised at whats left...
use Data::Dumper; my $hash = {dog=>'cat',PIG=>'cow'}; print Dumper $hash; force_uc_hash($hash); force_uc_hash($hash); print Dumper $hash;

-Blake