Perl Language
Контрольные заявления
Поиск…
Conditionals
Perl поддерживает множество видов условных операторов (операторов, базирующихся на логических результатах). Наиболее распространенными условными утверждениями являются if-else, if и trernary statements. given
операторы вводятся в виде коммутационной конструкции из C-производных языков и доступны в версиях Perl 5.10 и выше.
If-Else Statementments
Базовая структура if-утверждения выглядит так:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
Для простых if-утверждений if может предшествовать или преуспеть в выполнении кода.
$number = 7;
if ($number > 4) { print "$number is greater than four!"; }
# Can also be written this way
print "$number is greater than four!" if $number > 4;
Loops
Perl поддерживает множество типов конструкций циклов: for / foreach, while / do-while и до.
@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
print "$numbers[$i]\n";
}
#Can also be written as
foreach my $num (@numbers) {
print "$num\n";
}
Цикл while вычисляет условное выражение перед выполнением соответствующего блока. Таким образом, иногда блок никогда не выполняется. Например, следующий код никогда не будет выполняться, если filehandle $fh
был файловым дескриптором для пустого файла, или если он был уже исчерпан до условного.
while (my $line = readline $fh) {
say $line;
}
С другой стороны, циклы do
/ while
и do
/ until
оценивают условное значение после каждого выполнения блока. Таким образом, цикл do
/ while
или do
/ until
всегда выполняется хотя бы один раз.
my $greeting_count = 0;
do {
say "Hello";
$greeting_count++;
} until ( $greeting_count > 1)
# Hello
# Hello