Note: Using the first (and only) element of values avoids the problem with not knowing the name of the key.
...but that only applies to the given sample data because the intermediate-level hash only contains a single key/value pair. If there are multiple keys/values in those hashes, you're screwed because
values will return the values in a random order. (But the order is stable within a single run of the program, so long as the hash isn't modified, so at least it shouldn't throw
sort into an infinite loop. You'll just potentially get results sorted on the wrong sub-hash.)