Приглашаем посетить
Куприн (kuprin-lit.ru)

Операторы присваивания

Операторы присваивания

Последний тип операторов, который мы сегодня рассмотрим, это операторы присваивания. Один из них, оператор "=", вы уже использовали раньше, чтобы присваивать значения переменным. Помимо этого, Perl также имеет несколько операторов, которые являются сокращенными вариантами использования основного оператора присваивания "=" и какого-либо другого оператора. Например, вместо употребления $var1=$var1+$var2 вы можете запросто написать $var1 += $var2. И это будет работать. Преимущество использования сокращенной формы состоит в том, что вам придется меньше набирать текста.

Вот операторы, которые вы можете использовать в паре с основным оператором присваивания "=":
"+","-","*","/","%",".","**","x","<<",">>","&","|',"||","^"

Приоритет выполнения операторов
Уровень     Оператор     Обработка
22 (), [], {} Слева направо
21 -> Слева направо
20 ++, -- Нет
19 ** Справа налево
18 !, ~, +,+, -,\ Справа налево
17 =~, !~ Слева направо
16 *, /, % x Слева направо
15 +, -,. Слева направо
14 <<,>> Слева направо
13 Нет
12 Нет
11 Нет
10 & Слева направо
9 |, ^ Слева направо
8 && Слева направо
7 || Слева направо
6 .. Нет
5 ?: Справа налево
4 Справа налево
3 , Слева направо
2 not Слева направо
1 and Слева направо
0 or, xor Слева направо

Здесь описано, какой оператор какой имеет приоритет - чем выше уровень, тем выше приоритет. В выражении с несколькими операторами в первую очередь обрабатываются те, у которых выше приоритет.

В таблице есть некоторые операторы, с которыми вы еще не знакомы, - о них вы узнаете позднее.

Если вы написали сложное выражение и не совсем уверены насчет приоритетов использованных в нем операторов, то используйте круглые скобки - как в математике. Если вы используете скобки для точного указания, чего вы хотите, то вам никогда не придется беспокоиться насчет приоритетов. С другой стороны помните, что большое количество скобок часто загромождает текст программы и может сильно осложнить чтение.

…ух, еще одна глава позади… :)))

Назад | Оглавление | Далее