Учебники

Perl — Операторы

Простой ответ можно дать с помощью выражения 4 + 5, равного 9 . Здесь 4 и 5 называются операндами, а + называется оператором. Язык Perl поддерживает множество типов операторов, но ниже приведен список важных и наиболее часто используемых операторов:

  • Арифметические Операторы
  • Операторы равенства
  • Логические Операторы
  • Операторы присваивания
  • Битовые операторы
  • Логические Операторы
  • Операторы, подобные цитате
  • Разные операторы

Давайте посмотрим на всех операторов по одному.

Perl Арифметические Операторы

Предположим, что переменная $ a содержит 10, а переменная $ b содержит 20, а затем следующие арифметические операторы Perl:

Показать пример

Sr.No. Оператор и описание
1

+ (Дополнение)

Добавляет значения по обе стороны от оператора

Пример — $ a + $ b даст 30

2

— (вычитание)

Вычитает правый операнд из левого операнда

Пример — $ a — $ b даст -10

3

* (Умножение)

Умножает значения по обе стороны от оператора

Пример — $ a * $ b даст 200

4

/ (Отдел)

Делит левый операнд на правый операнд

Пример — $ b / $ a даст 2

5

% (Модуль)

Делит левый операнд на правый и возвращает остаток

Пример — $ b% $ a даст 0

6

** (экспонента)

Выполняет экспоненциальный (силовой) расчет по операторам

Пример — $ a ** $ b даст 10 степени 20

+ (Дополнение)

Добавляет значения по обе стороны от оператора

Пример — $ a + $ b даст 30

— (вычитание)

Вычитает правый операнд из левого операнда

Пример — $ a — $ b даст -10

* (Умножение)

Умножает значения по обе стороны от оператора

Пример — $ a * $ b даст 200

/ (Отдел)

Делит левый операнд на правый операнд

Пример — $ b / $ a даст 2

% (Модуль)

Делит левый операнд на правый и возвращает остаток

Пример — $ b% $ a даст 0

** (экспонента)

Выполняет экспоненциальный (силовой) расчет по операторам

Пример — $ a ** $ b даст 10 степени 20

Perl операторы равенства

Они также называются реляционными операторами. Предположим, что переменная $ a содержит 10, а переменная $ b содержит 20, поэтому давайте проверим следующие операторы числового равенства:

Показать пример

Sr.No. Оператор и описание
1

== (равно)

Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным.

Пример — ($ a == $ b) не соответствует действительности.

2

!= (Не равно)

Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным.

Пример — ($ a! = $ B) верно.

3

<=>

Проверяет, равны ли значения двух операндов или нет, и возвращает -1, 0 или 1 в зависимости от того, числовой аргумент левого аргумента меньше, равен или больше правого аргумента.

Пример — ($ a <=> $ b) возвращает -1.

4

> (больше чем)

Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным.

Пример — ($ a> $ b) не соответствует действительности.

5

<(меньше чем)

Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным.

Пример — ($ a <$ b) верно.

6

> = (больше или равно)

Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным.

Пример — ($ a> = $ b) не соответствует действительности.

7

<= (меньше или равно)

Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным.

Пример — ($ a <= $ b) верно.

== (равно)

Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным.

Пример — ($ a == $ b) не соответствует действительности.

!= (Не равно)

Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным.

Пример — ($ a! = $ B) верно.

<=>

Проверяет, равны ли значения двух операндов или нет, и возвращает -1, 0 или 1 в зависимости от того, числовой аргумент левого аргумента меньше, равен или больше правого аргумента.

Пример — ($ a <=> $ b) возвращает -1.

> (больше чем)

Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным.

Пример — ($ a> $ b) не соответствует действительности.

<(меньше чем)

Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным.

Пример — ($ a <$ b) верно.

> = (больше или равно)

Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным.

Пример — ($ a> = $ b) не соответствует действительности.

<= (меньше или равно)

Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным.

Пример — ($ a <= $ b) верно.

Ниже приведен список операторов акций. Предположим, что переменная $ a содержит «abc», а переменная $ b содержит «xyz», поэтому давайте проверим следующие операторы равенства строк:

Показать пример

Sr.No. Оператор и описание
1

л

Возвращает истину, если левый аргумент по строкам меньше правого аргумента.

Пример — ($ a lt $ b) верно.

2

GT

Возвращает true, если левый аргумент по строкам больше правого аргумента.

Пример — ($ a gt $ b) неверно.

3

ле

Возвращает истину, если левый аргумент по строкам меньше или равен правому аргументу.

Пример — ($ a le $ b) верно.

4

GE

Возвращает истину, если левый аргумент по строкам больше или равен правому аргументу.

Пример — ($ a ge $ b) неверно.

5

уравнение

Возвращает истину, если левый аргумент по строкам равен правому аргументу.

Пример — ($ a eq $ b) неверно.

6

Небраска

Возвращает true, если левый аргумент по строкам не равен правому аргументу.

Пример — ($ a ne $ b) верно.

7

CMP

Возвращает -1, 0 или 1 в зависимости от того, является ли левый аргумент по строкам меньше, равен или больше правого аргумента.

Пример — ($ a cmp $ b) равно -1.

л

Возвращает истину, если левый аргумент по строкам меньше правого аргумента.

Пример — ($ a lt $ b) верно.

GT

Возвращает true, если левый аргумент по строкам больше правого аргумента.

Пример — ($ a gt $ b) неверно.

ле

Возвращает истину, если левый аргумент по строкам меньше или равен правому аргументу.

Пример — ($ a le $ b) верно.

GE

Возвращает истину, если левый аргумент по строкам больше или равен правому аргументу.

Пример — ($ a ge $ b) неверно.

уравнение

Возвращает истину, если левый аргумент по строкам равен правому аргументу.

Пример — ($ a eq $ b) неверно.

Небраска

Возвращает true, если левый аргумент по строкам не равен правому аргументу.

Пример — ($ a ne $ b) верно.

CMP

Возвращает -1, 0 или 1 в зависимости от того, является ли левый аргумент по строкам меньше, равен или больше правого аргумента.

Пример — ($ a cmp $ b) равно -1.

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

Предположим, что переменная $ a содержит 10, а переменная $ b содержит 20, тогда ниже приведены операторы присваивания, доступные в Perl, и их использование —

Показать пример

Sr.No. Оператор и описание
1

знак равно

Простой оператор присваивания, присваивает значения от правых операндов к левому операнду

Пример — $ c = $ a + $ b присвоит значение $ a + $ b в $ c

2

+ =

Добавить оператор присваивания И, он добавляет правый операнд к левому операнду и присваивает результат левому операнду

Пример — $ c + = $ a эквивалентно $ c = $ c + $ a

3

знак равно

Вычитание И оператор присваивания, вычитает правый операнд из левого операнда и присваивает результат левому операнду

Пример — $ c — = $ a эквивалентно $ c = $ c — $ a

4

знак равно

Оператор присваивания умножения И, умножает правый операнд на левый операнд и присваивает результат левому операнду

Пример — $ c * = $ a эквивалентно $ c = $ c * $ a

5

знак равно

Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду

Пример — $ c / = $ a эквивалентно $ c = $ c / $ a

6

знак равно

Модуль и оператор присваивания, принимает модуль с использованием двух операндов и присваивает результат левому операнду

Пример — $ c% = $ a эквивалентно $ c = $ c% a

7

знак равно

Оператор экспоненты И присваивания, выполняет экспоненциальный (силовой) расчет операторов и присваивает значение левому операнду

Пример — $ c ** = $ a эквивалентно $ c = $ c ** $ a

знак равно

Простой оператор присваивания, присваивает значения от правых операндов к левому операнду

Пример — $ c = $ a + $ b присвоит значение $ a + $ b в $ c

+ =

Добавить оператор присваивания И, он добавляет правый операнд к левому операнду и присваивает результат левому операнду

Пример — $ c + = $ a эквивалентно $ c = $ c + $ a

знак равно

Вычитание И оператор присваивания, вычитает правый операнд из левого операнда и присваивает результат левому операнду

Пример — $ c — = $ a эквивалентно $ c = $ c — $ a

знак равно

Оператор присваивания умножения И, умножает правый операнд на левый операнд и присваивает результат левому операнду

Пример — $ c * = $ a эквивалентно $ c = $ c * $ a

знак равно

Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду

Пример — $ c / = $ a эквивалентно $ c = $ c / $ a

знак равно

Модуль и оператор присваивания, принимает модуль с использованием двух операндов и присваивает результат левому операнду

Пример — $ c% = $ a эквивалентно $ c = $ c% a

знак равно

Оператор экспоненты И присваивания, выполняет экспоненциальный (силовой) расчет операторов и присваивает значение левому операнду

Пример — $ c ** = $ a эквивалентно $ c = $ c ** $ a

Битовые операторы Perl

Побитовый оператор работает с битами и выполняет побитовую операцию. Предположим, если $ 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 = 60; и $ b = 13

Показать пример

Sr.No. Оператор и описание
1

&

Двоичный оператор AND немного копирует результат, если он существует в обоих операндах.

Пример — ($ a & $ b) даст 12, что равно 0000 1100

2

|

Оператор двоичного ИЛИ копирует немного, если он существует в другом операнде.

Пример — ($ a | $ b) даст 61, что равно 0011 1101

3

^

Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих.

Пример — ($ a ^ $ b) даст 49, что равно 0011 0001

4

~

Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов.

Пример — (~ $ a) даст -61, что равно 1100 0011 в форме дополнения 2 из-за двоичного числа со знаком.

5

<<

Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом.

Пример — $ a << 2 даст 240, что равно 1111 0000

6

>>

Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом.

Пример — $ a >> 2 даст 15, что равно 0000 1111

&

Двоичный оператор AND немного копирует результат, если он существует в обоих операндах.

Пример — ($ a & $ b) даст 12, что равно 0000 1100

|

Оператор двоичного ИЛИ копирует немного, если он существует в другом операнде.

Пример — ($ a | $ b) даст 61, что равно 0011 1101

^

Двоичный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих.

Пример — ($ a ^ $ b) даст 49, что равно 0011 0001

~

Оператор дополнения двоичных единиц является унарным и имеет эффект «переворачивания» битов.

Пример — (~ $ a) даст -61, что равно 1100 0011 в форме дополнения 2 из-за двоичного числа со знаком.

<<

Двоичный оператор левого сдвига. Значение левого операнда перемещается влево на количество битов, указанное правым операндом.

Пример — $ a << 2 даст 240, что равно 1111 0000

>>

Оператор двоичного правого сдвига. Значение левого операнда перемещается вправо на количество битов, указанное правым операндом.

Пример — $ a >> 2 даст 15, что равно 0000 1111

Perl Logical Operators

В языке Perl поддерживаются следующие логические операторы. Предположим, что переменная $ a имеет значение true, а переменная $ b содержит значение false тогда —

Показать пример

Sr.No. Оператор и описание
1

а также

Называется логический оператор И. Если оба операнда имеют значение true, тогда условие становится истинным.

Пример — ($ a и $ b) неверно.

2

&&

Оператор логического И в стиле С немного копирует результат, если он существует в обоих операндах.

Пример — ($ a && $ b) неверно.

3

или же

Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным.

Пример — ($ a или $ b) верно.

4

||

Оператор логического ИЛИ в стиле С немного копирует, если он существует в другом операнде.

Пример — ($ a || $ b) верно.

5

не

Вызывается логическим оператором НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь.

Пример — нет ($ a и $ b) верно.

а также

Называется логический оператор И. Если оба операнда имеют значение true, тогда условие становится истинным.

Пример — ($ a и $ b) неверно.

&&

Оператор логического И в стиле С немного копирует результат, если он существует в обоих операндах.

Пример — ($ a && $ b) неверно.

или же

Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным.

Пример — ($ a или $ b) верно.

||

Оператор логического ИЛИ в стиле С немного копирует, если он существует в другом операнде.

Пример — ($ a || $ b) верно.

не

Вызывается логическим оператором НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь.

Пример — нет ($ a и $ b) верно.

Операторы, подобные цитате

Существуют следующие операторы типа «цитата», поддерживаемые языком Perl. В следующей таблице {} представляет любую пару разделителей, которую вы выберете.

Показать пример

Sr.No. Оператор и описание
1

q {}

Заключает строку в одинарные кавычки

Пример — q {abcd} дает ‘abcd’

2

qq {}

Заключает строку в двойные кавычки

Пример — qq {abcd} дает «abcd»

3

qx {}

Содержит строку с инвертированными кавычками

Пример — qx {abcd} дает `abcd`

q {}

Заключает строку в одинарные кавычки

Пример — q {abcd} дает ‘abcd’

qq {}

Заключает строку в двойные кавычки

Пример — qq {abcd} дает «abcd»

qx {}

Содержит строку с инвертированными кавычками

Пример — qx {abcd} дает `abcd`

Разные операторы

Существуют следующие разные операторы, поддерживаемые языком Perl. Предположим, что переменная a содержит 10, а переменная b содержит 20, тогда —

Показать пример

Sr.No. Оператор и описание
1

,

Двоичный оператор точка (.) Объединяет две строки.

Пример — если $ a = «abc», $ b = «def», то $ a. $ B выдаст «abcdef»

2

Икс

Оператор повторения x возвращает строку, состоящую из левого операнда, повторяемого количество раз, указанное правым операндом.

Пример — (‘-‘ x 3) даст —.

3

..

Оператор диапазона .. возвращает список значений, начиная с левого значения до правого значения

Пример — (2..5) даст (2, 3, 4, 5)

4

++

Оператор автоинкремента увеличивает целочисленное значение на единицу

Пример — $ a ++ даст 11

5

Оператор автоматического декремента уменьшает целочисленное значение на единицу

Пример — $ a— даст 9

6

->

Оператор стрелки в основном используется при разыменовании метода или переменной из объекта или имени класса

Пример — $ obj -> $ a является примером доступа к переменной $ a из объекта $ obj.

,

Двоичный оператор точка (.) Объединяет две строки.

Пример — если $ a = «abc», $ b = «def», то $ a. $ B выдаст «abcdef»

Икс

Оператор повторения x возвращает строку, состоящую из левого операнда, повторяемого количество раз, указанное правым операндом.

Пример — (‘-‘ x 3) даст —.

..

Оператор диапазона .. возвращает список значений, начиная с левого значения до правого значения

Пример — (2..5) даст (2, 3, 4, 5)

++

Оператор автоинкремента увеличивает целочисленное значение на единицу

Пример — $ a ++ даст 11

Оператор автоматического декремента уменьшает целочисленное значение на единицу

Пример — $ a— даст 9

->

Оператор стрелки в основном используется при разыменовании метода или переменной из объекта или имени класса

Пример — $ obj -> $ a является примером доступа к переменной $ a из объекта $ obj.

Приоритет Perl-операторов

В следующей таблице перечислены все операторы от наивысшего приоритета к низшему.

Показать пример