in reply to Re^2: Deleting intermediate whitespaces, but leaving one behind each word
in thread Deleting intermediate whitespaces, but leaving one behind each word

Well, the best solutions are the ones you understand the most. I doubt there's a performance issue here anyway.
Yes, Eily++, I agree with both sentences. I meant "better" only in the sense that I find that the solutions using the s/// substitution operator are just simpler.

And, yes, I would also avoid the intermediate temp variable by pipe-lining the join and the split as you've shown, but, here, I wanted to stay close to the OP's solution.

As for the more awkish version of split using the ' ' string for splitting on multiple spaces, I know it exists and I agree it looks somewhat simpler, but I tend to prefer a regex such as /\s+/ because I find it states more explicitly what it is doing; as an example, I wouldn't know for sure (off the top of my head, without looking up in the documentation or testing, that is) whether it would also split on tabs or new line characters.