The clutter around the assignment hides the assignment making it harder to see where the variable gets its value
It is easy to confuse = and == so using the assignment operator in a conditional expression makes code harder to maintain
Point 2 is seen as sufficient of an issue that many compilers generate warnings for assignment in conditional expressions. I love the way that Perl allows terse functional chords that allow the equivalent of many lines of code in other languages to be wrapped up in a single compact statement. But playing tricks with side effects just to save a line of code doesn't sit well with me.
I'm completely fine with the equivalent assignment in a while statement though - go figure.
Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond