in reply to Help with this statement

If you can't memorize perlop and the precedence, and I tell you I cannot, the way to figure out how "perl" is reading yer program, is to use O::Deparse, so that's what I did (although this example was simple enough to figure out):
bash-2.05$ perl -e'$v = 444;if($v == 456 || 453){print 1}else{print 2} +' 1bash-2.05$ bash-2.05$ bash-2.05$ bash-2.05$ perl -MO=Deparse -e'$v = 444;if($v == 456 || 453){print 1}e +lse{print 2}' -e syntax OK $v = 444; if ($v == 456 or 453) { print 1; } else { print 2; }
Now that's not what you thought would happen. Perl is pretty cool, and there is much voodoo within, but the *binary* operators, cannot be chained as such . The term binary implies that they operate on 2 values, the one on the left, and the one on the right. it's not the one on the left, and the 2 on the right (usually). ++ and -- unary operators. they operate on 1 value. now you know. peace

 
______crazyinsomniac_____________________________
Of all the things I've lost, I miss my mind the most.
perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"