Операции отношения
Для сравнения скалярных данных или значений скалярных переменных язык Perl предлагает набор бинарных операций, вычисляющих отношения равенства, больше, больше или равно и т. п. между своими операндами, поэтому эту группу операций еще называют операциями отношения. Для сравнения числовых данных и строковых данных Perl использует разные операции. Все они представлены в табл. 4.1.
Таблица 4.1. Операции отношения.
Операция | Числовая | Строковая | Значение |
---|---|---|---|
Равенство | == | eq | Истина, если операнды равны, иначе ложь |
Неравенство | != | ne | Истина, если операнды не равны, иначе ложь |
Меньше | < | lt | Истина, если левый операнд меньше правого, иначе ложь |
Больше | > | gt | Истина, если левый операнд больше правого, иначе ложь |
Меньше или равно | <= | le | Истина, если левый операнд больше правого или равен ему, иначе ложь |
Больше или равно | >= | ge | Истина, если правый операнд больше левого или равен ему, иначе ложь |
Сравнение | < › | cmp | 0, если операнды равны 1, если левый операнд больше правого -1, если правый операнд больше левого |
Результатом операций отношения (кроме последней сравнения) является Истина, значение 1, или Ложь, пустая строка " ".
Замечание
Значение истина в арифметических операциях интерпретируется как число 1, а в строковых как строка "1". Значение ложь в арифметических операциях интерпретируется как число 0, а в строковых как пустая строка " ".
Числовые операции отношения
Числовые операции отношения применяются к числовым данным, причем один или оба операнда могут задаваться строкой, содержащей правильное десятичное число. Если в числовых операциях отношения какой-либо из операндов задан строкой, содержимое которой не представляет правильное десятичное число, то его значение принимается равным о и отображается предупреждение о некорректном использовании операнда в числовой операции отношения (если включен режим отображения предупреждений интерпретатора Perl). Смысл операций отношения для числовых данных соответствует обычным математическим операциям сравнения чисел (пример 4.7).
123 > 89; # Результат: 1 (истина) 123 < 89; # Результат: "" (ложь) 123 <= 89; # Результат: "" (ложь) 89 <= 89; # Результат: 1 (истина) 23 >= 89; # Результат: "" (ложь) 23 < › 89; # Результат: -1 (правый операнд больше левого) 89 < › 23; # Результат: 1 (правый операнд больше левого)