if
решает запустить свой блок (или отдельный оператор), посмотрев на значение выражения, которое вы ему даете:
if( EXPR ) { ... }
Если это выражение истинно, он запускает свой блок.Если это выражение ложно, это не так.
Это выражение может быть чем угодно.Perl оценивает выражение, сводя его к значению true или false.if()
затем смотрит на это значение.
Итак, удаляя эту часть вашего вопроса, вы остаетесь с «В чем разница между defined $count
и $count
».Ну, одно - это возвращаемое значение для определенного , а другое - любое значение, сохраненное в $count
.
Когда вы хотите выяснить, что делает конкретный бит кода, уменьшитеэто в том же логическом процессе, что и perl
, по одному шагу за раз.Посмотрите, что делает каждый шаг, и вы часто сможете ответить на свои вопросы.:)
Вы говорите, что искали документацию, но я не уверен, где вы смотрели.Если вы хотите посмотреть встроенную функцию, вы можете использовать переключатель -f
perldoc:
$ perldoc -f defined
Если вы хотите прочитать о синтаксисе Perl для таких вещей, как if
, то это в perlsyn .
У меня есть руководство для начинающих по документации Perl в Документация по Perl .