Какая из этих подпрограмм не похожа на другую?
sub or1 {
my ($a,$b) = @_;
return $a || $b;
}
sub or2 {
my ($a,$b) = @_;
$a || $b;
}
sub or3 {
my ($a,$b) = @_;
return $a or $b;
}
sub or4 {
my ($a,$b) = @_;
$a or $b;
}
Я пришел в Perl 5 из C и Perl 4 и всегда использовал ||, пока не увидел больше скриптов с использованием or, и мне понравилось то, как он выглядел. Но, как видно из вышеприведенной викторины, это не без его ловушек для неосторожного. Для людей, которые используют обе конструкции или используют много or, какие эмпирические правила вы используете, чтобы решить, какую конструкцию использовать, и убедитесь, что код выполняет то, что вы думаете, что он делает?