Scalars cannot contain hashes or arrays, only references to them.
But even if they could, when you use a hash on the right side of a scalar assignment, it is in scalar context, and a hash in scalar context produces false if the hash is empty, or a string describing the bucket usage within the hash if not (e.g. "7/32").