Perl evaluates left to right, but you need to be careful about operator precedence. (order of operations)
Like in math: 5 + 7 * 3
is evaluated as: 5 + (7*3) = 5 + 21 = 26
Not: (5 + 7) * 3 = 12 * 3 = 36
This is because multiplication has a higher precedence than addition, so sometimes you need parenthesis
As for not evaluating a the expressions, it depends on the compound expression. For instance:
my $x = 3;
my $y = 5;
# Case 1
if ( ($x > 1) || ($y > 10) ) {...}
# Case 2
if ( ($x > 10) || ($y > 10) ) {...}
# Case 3
if ( ($x > 10) && ($y > 10) ) {...}
# Case 4
if ( ($x > 1) && ($y > 10) ) {...}
Case 1 will stop after the first part because True OR <Anything> is true
Case 2 will continue after the first part evals to false because False OR <Something> evals to True is the Something is true
Case 3 will stop after the first part evals to false because False AND <Anything> is false.
Case 4 will evaluate both parts because the first one is true, but True And False is False, so the second part needs to be evaluated.
So it really depends on how the parts are joined. This is extensible to 3, 4, ..., N clauses too