Perl Операторы сравнения иногда могут сбивать с толку новых программистов на Perl. Путаница проистекает из того факта, что Perl фактически имеет два набора операторов сравнения - один для сравнения числовые значения и одно для сравнения строковых значений Американского стандартного кода для обмена информацией (ASCII).
Поскольку операторы сравнения обычно используются для управления логическим потоком программ и принятия важных решений, с помощью неправильный оператор для значения, которое вы тестируете, может привести к странным ошибкам и часам отладки, если вы не будете осторожны.
Не забудьте прочитать то, что написано в самом низу этой страницы, чтобы вспомнить кое-что в последнюю минуту.
Равный, Не Равный
Самые простые и, вероятно, наиболее часто используемые операторы сравнения проверяют, равно ли одно значение другому. Если значения равны, тест возвращает true, а если значения не равны, тест возвращает false.
Для проверки равенства двух числовой значения, мы используем оператор сравнения
==. Для проверки равенства двух строка значения, мы используем оператор сравнения уравнение (Равно).Вот пример обоих:
if (5 == 5) {print "== для числовых значений \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) для строковых значений \ n"; }
Тестирование на противоположное, не равное, очень похоже. Помните, что этот тест вернется правда если проверенные значения не равны друг другу. Чтобы увидеть, если два числовой значения не приравнивая друг друга, мы используем оператор сравнения !=. Чтобы увидеть, если два строка значения не приравнивая друг друга, мы используем оператор сравнения Небраска (Не равный).
if (5! = 6) {print "! = для числовых значений \ n"; }
if ('moe ne' curly ') {print "ne (Not Equal) для строковых значений \ n"; }
Больше, чем больше или равно
Теперь давайте посмотрим на больше чем операторы сравнения. Используя этот первый оператор, вы можете проверить, больше ли одно значение, чем другое. Чтобы увидеть, если два числовой значения больше друг друга, мы используем оператор сравнения >. Чтобы увидеть, если два строка значения больше друг друга, мы используем оператор сравнения GT (Больше чем).
if (5> 4) {print "> для числовых значений \ n"; }
if ('B' gt 'A') {напечатать "gt (Greater Than) для строковых значений \ n"; }
Вы также можете проверить на больше или равно, который выглядит очень похоже. Имейте в виду, что этот тест вернется правда если проверенные значения равны друг другу, или если значение слева больше значения справа.
Чтобы увидеть, если два числовой значения больше или равны друг другу, мы используем оператор сравнения >=. Чтобы увидеть, если два строка значения больше или равны друг другу, мы используем оператор сравнения GE (Больше, чем равно).
if (5> = 5) {print "> = для числовых значений \ n"; }
if ('B' ge 'A') {напечатать "ge (Greater-than Equal-to) для строковых значений \ n"; }
Меньше, меньше или равно
Существует множество операторов сравнения, которые вы можете использовать для определения логического потока ваших Perl-программ. Мы уже обсуждали разницу между операторами сравнения чисел Perl и операторами сравнения строк Perl, что может привести к некоторой путанице у новых программистов Perl. Мы также узнали, как определить, равны ли два значения или не равны друг другу, и научились определять, больше или равны ли два значения друг другу.
Давайте посмотрим на меньше, чем операторы сравнения. Используя этот первый оператор, вы можете проверить, является ли одно значение меньше, чем другое значение. Чтобы увидеть, если два числовой значения меньше, чем друг с другом мы используем оператор сравнения <. Чтобы увидеть, если два строка значения меньше, чем друг с другом мы используем оператор сравнения л (Меньше, чем).
if (4 <5) {print "
if ('A' lt 'B') {напечатать "lt (Less Than) для строковых значений \ n"; }
Вы также можете проверить, меньше или равно, который выглядит очень похоже. Помните, что этот тест вернется правда если проверенные значения равны друг другу, или если значение слева меньше значения справа. Чтобы увидеть, если два числовой значения меньше или равно друг с другом мы используем оператор сравнения <=. Чтобы увидеть, если два строка значения меньше или равно друг с другом мы используем оператор сравнения ле (Меньше, чем равно).
if (5 <= 5) {print "<= для числовых значений \ n"; }
if ('A' le 'B') {напечатать "le (меньше чем равно) для строковых значений \ n"; }
Дополнительная информация об операторах сравнения
Когда мы говорим о том, что строковые значения равны друг другу, мы ссылаемся на их значения ASCII. Таким образом, заглавные буквы технически меньше строчных букв, и чем выше буква в алфавите, тем выше значение ASCII.
Обязательно проверьте свои значения ASCII, если вы пытаетесь принимать логические решения на основе строк.