My understanding is that the operators such as += .= -= are immune from uninitialized warnings whereas their longwinded counterparts ($x = $x + 1) are not. After beating myself about the head trying to figure out exactly what will trigger this warning, I posted a little quiz about my findings.