in reply to Say it isn't so, -MO=Deparse!

I am running This is perl, v5.8.5 built for i686-linux-thread-multi
The problem you saw can be reproduced here too; here's an interesting thing though:
perl -MO=Deparse,-p -e '$_ = ($x) = (4, 5, 6); print' ($_ = (($x) = (4, 5, 6))); print($_); -e syntax OK

And here's the output of what Deparse gave me:
perl -e '($_ = (($x) = (4, 5, 6)));print' 3#and my shell prompt here of course
Note: that I removed the -l switch
Dodge This!