Унарные арифметические операторы
оказывают действие на один операнд. Они
используются изменения знака переменной, а
также для инкремента значения переменной
или же его декремента. Под инкрементом
подразумевается увеличение значения на
единицу. В свою очередь, декремент - это
уменьшение значения на единицу.
Изменение знака операнда
+op1 позитивный операнд
-op1 негативный операнд
Изменение значения операнда перед
использованием
++op1 преинкремент операнда на единицу
--op1 предекремент операнда на единицу
Изменение значения операнда после его
использования
op1++ пост инкремент операнда на единицу
op1-постдекремент операнда на единицу
Арифметические операторы начинают казаться сложными, когда вы переходите к изучению унарных операторов. Представьте себе задачку: "К пяти частям шоколадки прибавить две отрицательные части…". Прибавление отрицательных чисел, возможно, вам покажется несколько странным. Но поверьте, - это не так. Я почти уверен, что вы не станете использовать в математике нечто наподобие: "34+-2". Но в то же время вы могли бы написать "34+$var", где переменная $var является отрицательным числом.
Использование унарного оператора "+" является по сути бесполезным, и Perl его проигнорирует. С другой стороны, унарный оператор "-" всегда изменяет знак числа на "плюс" или на "минус". Например, если у вас есть переменная $var, значение которой равно 34, и вы применяете к ней унарный оператор "-" (например, "print -$var;"), то ее значение будет равно -34.
Операторы "++" и "--" в Perl работают
точно также, как и в Си. Оператор "++"
увеличивает значение операнда на единицу, в
свою очередь оператор "--" уменьшает.
Существует два способа использования
данных операторов: префиксный (++$var) и
постфиксный ($var++). В первом случае значение
переменной изменяется до ее использования,
во втором - после.
Пример:
#!/usr/bin/perl
$var=5;
print ++$var; #выведет на экран 6
print $var++; #выведет на экран 5, а за тем увеличит
значение $var