Операторы сравнения сравнивают величины двух операндов. Так же как при работе с арифметическими операторами, Perl преобразует строчные операнды в численные перед тем, как выполнять сравнение. Для того чтобы позволить скрипту сравнивать строки, которые не являются числами, Perl имеет дополнительные операторы строкового сравнения. Эти операторы сравнивают строки, используя величины ASCII . Если численное значение задано как операнд при сравнении строк, оно сначала преобразуется в строку. Таблица 12.1 перечисляет операторы сравнения:
Число Строка Значение
= = eq равно
!= n е не равно
> gt больше чем
< it меньше чем
>= g е больше или равно
<= l е меньше или равно
<=> cmp не равно (результат со знаком)
Табл. 12.1. Операторы сравнения языка Perl
Результатом операции сравнения является единица, если сравнение истинно и нуль в противном случае. Однако последняя операция (<=> или cmp ) может возвращать значения -1, 0 или 1 в зависимости от того, является ли значение первого операнда меньше, чем второго, равным ему или большим.
Примечание: Оператор cmp языка Perl ведет себя, аналогично функции
Strcmp () библиотеки времени выполнения языка С.
Рассмотрим следующий пример сравнения:
$ x = 5; # x равно 5
print ($ x < 4); # если false , то выведет 0