in reply to Re^2: sorting array of hashes using multiple keys conditionally
in thread sorting array of hashes using multiple keys conditionally

I'm wondering why || doesn't cause a precedence problem here?

Because the  || operator has lower precedence than the comparison operators like  <=> for example.    See perlop.