Utterly false when it comes to hash values. Hash values are stored without change. If they notice changes it's because of bugs in the code they're observing.
Half true when its hash keys. Hash keys are always strings so if you use an object as a hash key the hash has only the stringified object as a key. You can generally expect the object to remain unchanged and continue to be an ordinary object. You can always expect the hash key to only be a string. Stringification is per perl's normal rules unless the object has stringification overloading and then it can be whatever is appropriate.