in reply to Operator precedence (or, I'm an idiot)

Yep. The spelled-out logical operators (and and or anyway; not sure about not) have what the Camel describes as "ultra-low precedence". That's exactly what makes them so useful: almost no matter what the context is, you can be pretty much sure that they'll short-circut unless the whole left hand side evaluates to true (if you use and) or false (if you use or). Hence the idiom or die "Aaaack! $!, $!, the sky is falling, $!\n"; the die won't trigger unless the whole left side fails. If you use || for that you have to throw parens around everything.


for(unpack("C*",'GGGG?GGGG?O__\?WccW?{GCw?Wcc{?Wcc~?Wcc{?~cc' .'W?')){$j=$_-63;++$a;for$p(0..7){$h[$p][$a]=$j%2;$j/=2}}for$ p(0..7){for$a(1..45){$_=($h[$p-1][$a])?'#':' ';print}print$/}