|
а левый операнд false. Как только левый операнд
стал true результат - true до тех пока правый true, после чего
результат опять - false. Если вы не хотите проверять правый операнд
то используйте оператор '...'.
Правый операнд не вычисляется пока результат false и левый
операнд не вычисляется пока пока результат true. Приоритетность
оператора '..' немного ниже чем '&&' и '||'. Возвращаемое
значение если flase - нулевая строка, если true - порядковый номер
начиная с 1. Порядковый номер обнуляется для каждого нового диаппазона.
Последний порядковый номер добавляется строкой "E0" которая не изменяет
его значение но позволяет фиксировать последнее значение.
Пример:
@алфавит = ('a'..'z'); # Массив малых букв латинского алфавита
@цифры = (0..9); # Массив цифр
Условный оператор '?:'
Этот оператор работает так же как и в С. Если выражение перед '?'
истинно то выполняется аргумент перед ':' - иначе после ':'.
Пример:
$i = 1;
$i > 1 ? print "больше" : print "меньше";
Результат: меньше
Операторы присваивания.
'=' - обычный оператор "присвоить" правое значение переменной слева
Вся эта группа операторов подобна операторам С т.е.
$i += 2;
эквивалентно
$i = $i + 2;
Остальные операторы этой группы работают аналогично.
Допустимы следующие операторы:
**=
+= -= .=
*= /= %= x=
&= |= ^=
<<= >>=
&&= ||=
Приоритет всей этой группы операторов равен приоритету '='.
Оператор ',' (запятая)
В скалярном контексте выполняется левый аргумент, результат игнорируется
затем правый и его результат есть результат действия оператора.
В списковом контексте это разделитель элементов списка который
включает указанные элементы в список.
Оператор логическое not (орицание).
Унарный not возвращает противоположное значение полученное выражением
справа. Он эквивалентен '!' но имеет очень низкий приоритет.
Оператор логическое and (И).
Выполняет логическую конъюнкцию двух выражений. Эквивалентен '&&'
но имеет очень низкий приоритет и "краткость" действия. т.е
если левое выражение равно false - лев
|
|