Perl Операторы
Оператор сообщает компилятор для выполнения конкретных математических или логических операций символы, такие как: 3 + 2 = 5.
Perl язык построил множество операторов, мы рассмотрим некоторые общие черты:
- Арифметические операторы
- сравнение
- Логические операторы
- Операторы присваивания
- Битовые операторы
- Цитировать оператор
- Другие операторы
- Оператор Внеочередные
Арифметические операторы
Форма примера мы устанавливаем переменную $ а 10 $ 20 б.
операторы | описание | примеров |
---|---|---|
+ | сумматор | $ A + $ B 30 результатов |
- | вычитание | $ A - $ б результат -10 |
* | умножение | $ A * $ B 200 результатов |
/ | разделение | $ B / $ результата 2 |
% | Модульное операция, оставшаяся после того, как делится | $ B $% результат равен 0 |
** | Возведение | $ A $ ** B 10 результаты 20-го питания |
примеров
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a , \$b = $b\n"; $c = $a + $b; print '$a + $b = ' . $c . "\n"; $c = $a - $b; print '$a - $b = ' . $c . "\n"; $c = $a * $b; print '$a * $b = ' . $c . "\n"; $c = $a / $b; print '$a / $b = ' . $c . "\n"; $c = $a % $b; print '$a % $b = ' . $c. "\n"; $a = 2; $b = 4; $c = $a ** $b; print '$a ** $b = ' . $c . "\n";
Выход выше выполнение программы:
$a = 10 , $b = 20 $a + $b = 30 $a - $b = -10 $a * $b = 200 $a / $b = 0.5 $a % $b = 10 $a ** $b = 16
сравнение
Форма примера мы устанавливаем переменную $ а 10 $ 20 б.
операторы | описание | примеров |
---|---|---|
== | Проверьте значение двух операндов равны, если они равны, то условие истинно, иначе ложь. | ($ A == $ B) является ложным |
! = | Проверьте значение двух операндов равны, если не равно условие истинно, иначе ложь. | ($ A! = $ B) истинно. |
<=> | Проверьте значение двух операндов равны, если число меньше, чем число слева от права на возвращение -1 возврата 0, если они равны, если число больше, чем число слева направо от возвращения 1. | ($ A $ <=> б) возвращает -1. |
> | Проверьте значение левого операнда больше значения правого операнда, и если условие истинно, иначе ложь. | ($ A> $ б) возвращает ложь. |
< | Проверьте значение левого операнда меньше значения правого операнда, и если условие истинно, иначе ложь. | ($ A <$ б) возвращает истину. |
> = | Проверьте значение левого операнда больше или равно значению правого операнда, и если условие истинно, иначе ложь. | ($ A> = $ б) возвращает ложь. |
<= | Проверить значение левого операнда меньше или равно значению правого операнда, и если условие истинно, иначе ложь. , | ($ A <= $ б) возвращает истину. |
примеров
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a , \$b = $b\n"; if( $a == $b ){ print "$a == \$b 结果 true\n"; }else{ print "\$a == \$b 结果 false\n"; } if( $a != $b ){ print "\$a != \$b 结果 true\n"; }else{ print "\$a != \$b 结果 false\n"; } $c = $a <=> $b; print "\$a <=> \$b 返回 $c\n"; if( $a > $b ){ print "\$a > \$b 结果 true\n"; }else{ print "\$a > \$b 结果 false\n"; } if( $a >= $b ){ print "\$a >= \$b 结果 true\n"; }else{ print "\$a >= \$b 结果 false\n"; } if( $a < $b ){ print "\$a < \$b 结果 true\n"; }else{ print "\$a < \$b 结果 false\n"; } if( $a <= $b ){ print "\$a <= \$b 结果 true\n"; }else{ print "\$a <= \$b 结果 false\n"; }
Выход выше выполнение программы:
$a = 10 , $b = 20 $a == $b 结果 false $a != $b 结果 true $a <=> $b 返回 -1 $a > $b 结果 false $a >= $b 结果 false $a < $b 结果 true $a <= $b 结果 true
В следующей таблице экземпляр переменной $ а имеет значение "ABC", $ B на "XYZ", а затем использовать оператор сравнения для вычисления результатов.
операторы | описание | примеров |
---|---|---|
л | Проверьте строку слева меньше, чем строка на право на возвращение, если это правда, иначе ложь. | ($ A $ B лт) возвращает истину. |
GT | Проверьте, является ли строка слева больше строки на право на возвращение, если это правда, иначе ложь. | ($ A $ B Гт) возвращает ложь. |
ле | Проверьте строку слева меньше или равна строке с правой стороны, если он возвращает истину, в противном случае возвращает ложь. | ($ A $ ле б) Возвращает истину, |
GE | Проверьте, является ли строка слева больше или равна строке с правой стороны, если она возвращает истину, в противном случае возвращает ложь. | ($ A GE $ б) возвращает ложь. |
уравнение | Проверьте строка равна строке слева, чтобы справа, если она хочет вернуть истинным, в противном случае возвращает ложь. | ($ A $ B экв) возвращает ложь. |
Небраска | Проверьте строку слева не равна строке на право на возвращение, если это правда, иначе ложь. | ($ A $ B пе) Возвращает истину |
CMP | Если строка больше, чем правая часть левой строки возвращает 1, если они равны возвращает 0, если строка является строкой справа налево меньше -1. | ($ A $ CMP б) возвращает -1. |
примеров
#!/usr/bin/perl $a = "abc"; $b = "xyz"; print "\$a = $a ,\$b = $b\n"; if( $a lt $b ){ print "$a lt \$b 返回 true\n"; }else{ print "\$a lt \$b 返回 false\n"; } if( $a gt $b ){ print "\$a gt \$b 返回 true\n"; }else{ print "\$a gt \$b 返回 false\n"; } if( $a le $b ){ print "\$a le \$b 返回 true\n"; }else{ print "\$a le \$b 返回 false\n"; } if( $a ge $b ){ print "\$a ge \$b 返回 true\n"; }else{ print "\$a ge \$b 返回 false\n"; } if( $a ne $b ){ print "\$a ne \$b 返回 true\n"; }else{ print "\$a ne \$b 返回 false\n"; } $c = $a cmp $b; print "\$a cmp \$b 返回 $c\n";
Выход выше выполнение программы:
$a = abc ,$b = xyz abc lt $b 返回 true $a gt $b 返回 false $a le $b 返回 true $a ge $b 返回 false $a ne $b 返回 true $a cmp $b 返回 -1
Операторы присваивания
Форма примера мы устанавливаем переменную $ а 10 $ 20 б.
операторы | описание | примеров |
---|---|---|
= | Простой оператор присваивания, значение на правого операнда на левый операнд | $ C $ = а + $ Ь $ а + $ Ь присвоит значение $ C |
+ = | Канадский оператор присваивания и, в результате добавления левого операнда на правый операнд, назначенного левого операнда | $ C + = $ а равно $ с = $ с + $ а |
- = | Сохранение и операторы присваивания, левый операнд на правый операнд вычитается присвоить результат левого операнда | $ C - = $ а равно $ с = $ C - $ а |
* = | Умножить и оператор присваивания, справа от левого операнда умножается на операнд присвоить результат левого операнда | $ C * = $ а равно $ с = $ C * $ а |
/ = | Кроме того, и операторы присваивания, левый операнд разделены справа от операнда присвоить результат левого операнда | $ C / = $ а равно $ с = $ с / $ а |
% = | Модульное и оператор присваивания, сумма двух операндов формы присваивается левого операнда | $ C% = $ а равно $ с = $ C% в |
** = | Возведение и назначение оператора, сумма двух операндов, умноженных на мощности, выделенной левого операнда | $ C ** = $ а равно $ с = $ C ** $ а |
примеров
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a ,\$b = $b\n"; $c = $a + $b; print "赋值后 \$c = $c\n"; $c += $a; print "\$c = $c ,运算语句 \$c += \$a\n"; $c -= $a; print "\$c = $c ,运算语句 \$c -= \$a\n"; $c *= $a; print "\$c = $c ,运算语句 \$c *= \$a\n"; $c /= $a; print "\$c = $c ,运算语句 \$c /= \$a\n"; $c %= $a; print "\$c = $c ,运算语句 \$c %= \$a\n"; $c = 2; $a = 4; print "\$a = $a , \$c = $c\n"; $c **= $a; print "\$c = $c ,运算语句 \$c **= \$a\n";
Выход выше выполнение программы:
$a = 10 ,$b = 20 赋值后 $c = 30 $c = 40 ,运算语句 $c += $a $c = 30 ,运算语句 $c -= $a $c = 300 ,运算语句 $c *= $a $c = 30 ,运算语句 $c /= $a $c = 0 ,运算语句 $c %= $a $a = 4 , $c = 2 $c = 16 ,运算语句 $c **= $a
разрядных вычислений
Битовые операторы, действующие на бит, и по крупицам операции.
Установка $ а = 60, $ B = 13, в настоящее время представлены в двоичном формате, они являются следующие:
$a = 0011 1100 $b = 0000 1101 ----------------- $a&$b = 0000 1100 $a|$b = 0011 1101 $a^$b = 0011 0001 ~$a = 1100 0011
Разрядных вычислений поддержка символов Perl следующим образом:
операторы | описание | примеров |
---|---|---|
& | Если оба они существуют в двух операндов, бинарный оператор И скопировать результат. | ($ A & $ б) будет 12, в двоичном 0000 1100 |
| | Если он присутствует в любом операнде, бинарный оператор ИЛИ скопировать результат. | ($ A | $ б) будет 61, то двоичный файл 00111101 |
^ | Если он присутствует в одном из операнда, но не одновременно существовать в двух операндов, бинарного оператора XOR копию на результат. | ($ A ^ $ б) будет 49, то двоичный файл 00110001 |
~ | Двойки оператор дополнение является унарный оператор, А "флип" эффект положения. | (~ $ A) будет -61, двоичная 1100 0011 комплемента форма двоичного числа со знаком. |
<< | Бинарный оператор левого сдвига. Значение левого операнда для перемещения влево и вправо операнда указанное количество цифр. | $ A << 2 будет 240, то двоичный файл 11110000 |
>> | Бинарный оператор правого сдвига. Значение левого операнда перемещения правого операнда на заданное число битов вправо. | $ A >> 2 будет 15, двоичная 0000 1111 |
примеров
#!/usr/bin/perl use integer; $a = 60; $b = 13; print "\$a = $a , \$b = $b\n"; $c = $a & $b; print "\$a & \$b = $c\n"; $c = $a | $b; print "\$a | \$b = $c\n"; $c = $a ^ $b; print "\$a ^ \$b = $c\n"; $c = ~$a; print "~\$a = $c\n"; $c = $a << 2; print "\$a << 2 = $c\n"; $c = $a >> 2; print "\$a >> 2 = $c\n";
Выход выше выполнение программы:
$a = 60 , $b = 13 $a & $b = 12 $a | $b = 61 $a ^ $b = 49 ~$a = -61 $a << 2 = 240 $a >> 2 = 15
Логические операторы
Perl логические операторы в следующей таблице.
Форма примера мы устанавливаем переменную $ а верно, $ Ь является ложным.
операторы | описание | примеров |
---|---|---|
и | Логический оператор И оператор. Если оба операнда истинны, условие истинно. | ($ A и $ B) является ложным. |
&& | C-стиль логический оператор оператор. Если оба операнда истинны, условие истинно | ($ A $ && Ь) ложно. |
или | Логический оператор ИЛИ. Если оба операнда имеют любой ненулевой, условие истинно. | ($ A или $ б) верно. |
|| | C-стиль логического оператора ИЛИ. Если оба операнда имеют любой ненулевой, условие истинно. | ($ A $ || Ь) истинно. |
не | Логический оператор НЕ. Это инвертирует логическое состояние операнда. Если условие истинно, то логично не оператор сделает его ложным. | не ($ а и $ Ь) истинно. |
примеров
#!/usr/bin/perl $a = true; $b = false; print "\$a = $a , \$b = $b\n"; $c = ($a and $b); print "\$a and \$b = $c\n"; $c = ($a && $b); print "\$a && \$b = $c\n"; $c = ($a or $b); print "\$a or \$b = $c\n"; $c = ($a || $b); print "\$a || \$b = $c\n"; $a = 0; $c = not($a); print "not(\$a)= $c\n";
Выход выше выполнение программы:
$a = true , $b = false $a and $b = false $a && $b = false $a or $b = true $a || $b = true not($a)= 1
Котировки операции
Perl цитирует операторы в следующей таблице.
операторы | описание | примеров |
---|---|---|
д {} | Строка с одиночной кавычки | Q {ABCD} Результаты для 'ABCD' |
кв.кв {} | Строка двойных кавычках | {ABCD QQ} Результаты для "ABCD" |
QX {} | Строка с обратными кавычками | QX {ABCD} результат `abcd` |
примеров
#!/usr/bin/perl $a = 10; $b = q{a = $a}; print "q{a = \$a} = $b\n"; $b = qq{a = $a}; print "qq{a = \$a} = $b\n"; # 使用 unix 的 date 命令执行 $t = qx{date}; print "qx{date} = $t\n";
Выход выше выполнение программы:
q{a = $a} = a = $a qq{a = $a} = a = 10 qx{date} = 2016年 6月10日 星期五 16时22分33秒 CST
Другие операторы
В дополнение к сказанному выше мы упоминали операторы снаружи, Perl также поддерживает следующие операторы:
операторы | описание | примеров |
---|---|---|
, | Точка (.) Используется для соединения двух строк. | Если $ а = "бежать", $ Ь = "OOB", $ а. Результаты $ B для "w3big" |
х | х оператор возвращает строку повторений. | ( '-' X 3) выход ---. |
.. | .. В ряде операторов. | (2..5) Выход (2, 3, 4, 5) |
++ | Приращение оператор, целое значение увеличивается на 1 | $ A = 10 $ а ++ выведет 11 |
- | Декремента, целое значение уменьшается на 1 | $ A = 10, $ A-- выход 9 |
-> | Укажите метод класса для Arrow | $ Obj -> $ представление объекта $ OBJ $ методом. |
примеров
#!/usr/bin/perl $a = "run"; $b = "oob"; print "\$a = $a , \$b = $b\n"; $c = $a . $b; print "\$a . \$b = $c\n"; $c = "-" x 3; print "\"-\" x 3 = $c\n"; @c = (2..5); print "(2..5) = @c\n"; $a = 10; $b = 15; print "\$a = $a , \$b = $b\n"; $a++; $c = $a ; print "\$a 执行 \$a++ = $c\n"; $b--; $c = $b ; print "\$b 执行 \$b-- = $c\n";
Выход выше выполнение программы:
$a = run , $b = oob $a . $b = w3big "-" x 3 = --- (2..5) = 2 3 4 5 $a = 10 , $b = 15 $a 执行 $a++ = 11 $b 执行 $b-- = 14
Оператор Внеочередные
В следующей таблице перечислены Perl оператор языка приоритет:
оператор Операторы | переплет |
---|---|
++ - | Нет |
-, ~ ,! | Справа налево |
** | Справа налево |
= ~! ~ | Слева направо: |
*, /,%, X | Слева направо: |
+, - ,. | Слева направо: |
<< >> | Слева направо: |
-e, -r, | Нет |
<, <=,>,> =, Lt, ле, г.т., GE | Слева направо: |
== ,! =, <=>, Уравнение, пе, CMP | Слева направо: |
& | Слева направо: |
|, ^ | Слева направо: |
&& | Слева направо: |
|| | Слева направо: |
.. | Слева направо: |
? А: | Справа налево |
=, + =, - =, * =, | Справа налево |
другое | |
, | Слева направо: |
не | Слева направо: |
и | Слева направо: |
или, XOR | Слева направо: |
примеров
#!/usr/bin/perl $a = 20; $b = 10; $c = 15; $d = 5; $e; print "\$a = $a, \$b = $b, \$c = $c ,\$d = $d\n"; $e = ($a + $b) * $c / $d; print "(\$a + \$b) * \$c / \$d = $e\n"; $e = (($a + $b) * $c )/ $d; print "((\$a + \$b) * \$c) / \$d = $e\n"; $e = ($a + $b) * ($c / $d); print "(\$a + \$b) * (\$c / \$d ) = $e\n"; $e = $a + ($b * $c ) / $d; print "\$a + (\$b * \$c )/ \$d = $e\n";
Выход выше выполнение программы:
$a = 20, $b = 10, $c = 15 ,$d = 5 ($a + $b) * $c / $d = 90 (($a + $b) * $c) / $d = 90 ($a + $b) * ($c / $d ) = 90 $a + ($b * $c )/ $d = 50