Ok ...
Btw, this is something that I've stumbled upon multiple times - read() is only expected to return a string. What if there was a failure?