Exact and precise it is when you said that length does count every character including control characters. But citing the same perldoc for length I have "If the EXPR is in Unicode, you will get the number of characters, not the number of bytes." which means, if we look at it the other way around and negate this statement we would reach to "if the EXPR was otherwise not in Unicode, a strong implication is embedded that we'd get its length in bytes instead of characters".
Update: I had the notion that one character can be represented by one byte in Programming, this has been more solidified after afoken gracious contribution underneath.
Hence, what you said, that we'd get the number of characters holds true for Unicode values, and what I replied when I said that length is byte length for characters not in Unicode holds true too since characters are bytes for those values not in unicode :).
Excellence is an Endeavor of Persistence.
Chance Favors a Prepared Mind.