Арифметические операторы действуют на числовые значения, и их результатом является число. Если выражение включает строковые операнды, то Perl конвертирует строковые значения в числовые перед тем, как оценить выражение. Perl выполняет преобразование строк в числа подобно тому, как это делает функция atof ()языка С в библиотеки времени выполнения. В настоящее время Perl поддерживает следующие арифметические операторы:
· + сложение
· - вычитание или изменение знака
· * умножение
· / деление (только для чисел с плавающей запятой)
· % взятие по модулю (только для целочисленных значений)
Рассмотрим примеры следующих арифметических операций языка Perl :
$x = 2.5;
$y = 3;
print ($x + 2*$y); # выведет 8.5
print (7 / $y); # выведет 2.3333333
print int (7 / $y); # выведет 2
print (7 % $y); # выведет 1
print (7.5 % $y); # выведет 1
Примечание: В языке Perl оператор деления всегда имеет результатом 4 ucw с плавающей точкой, а результатом взятия одного числа по модулю другого является целое число и причем предварительно оба операнда преобразуются к целому типу.
Рассмотрим следующую операцию взятия по модулю:
print (7.9 % 3.6); # выведет 1 то же (7 % 3) = 1
Perl также поддерживает операторы инкремента и декремента:
· ++ декремент в префиксной или постфиксной форме
· - инкремент в префиксной или постфиксной форме
Рассмотрим примеры операций инкремента и декремента:
$ x = 4;
++$ x ;
print $ x ; # выведет 5
$ y = $ x -; # уменьшит x после присвоения y значения x
print “$y $x” # выведет 5 4
Наконец, Perl обеспечивает арифметический оператор для возведения в степень (**). Рассмотрим следующие примеры использования операции возведения в степень:
$ x = 2 ** 3; # результат 8
$ x = 2 ** 0.5; # квадратный корень из 2
$ x = -2 ** -3; # 1/(-2 в кубе), результат –1/8 (-0.125)