Требуются ли фигурные скобки в состоянии if в perl? - PullRequest
0 голосов
/ 04 августа 2020

этот код:

#!/usr/bin/perl -w

sub marine{
    print "somestuff\n";
    exit 1;
}
$bool=1;

if($bool)
    marine();

дает ошибку:

Bareword found where operator expected at ./a line 10, near ")
    marine"
    (Missing operator before marine?)
syntax error at ./a line 10, near ")
    marine"
Execution of ./a aborted due to compilation errors.

Однако он работает, когда в теле if есть {}. Так нужны ли они в perl?

1 Ответ

6 голосов
/ 04 августа 2020

Для Составных операторов , как и у вас, фигурные скобки необходимы.

if ($bool) {
    marine();
}

Однако фигурные скобки не требуются для модификаторов операторов :

marine() if $bool;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...