Когда я читал ваш вопрос, я подумал, что у вас возникнут проблемы со строками в сравнении с числовыми значениями в уравнениях.Рассмотрим следующий случай:
#!/usr/bin/env perl
use strict;
use warnings;
print("What is the meaning of life, the universe and everything? ");
chomp(my $response = <STDIN>);
if ( $response == 42) {
#if ( 42 ~~ $response ) {
print "correct answer\n";
} else {
print "Wrong answer\n" ;
}
Попробуйте два разных оператора if
.Ответь на что-нибудь приятное, например family
, и посмотри, что получится.~~
- это оператор интеллектуального сопоставления, который помог решить некоторые из этих проблем в Perl.Подробнее об этом здесь (в разделе «интеллектуальное сопоставление в деталях»).Обратите внимание также на встроенное использование оператора chomp
.