[МЕТКА] while (ВЫРАЖЕНИЕ) БЛОК [МЕТКА] while (ВЫРАЖЕНИЕ) БЛОК continue БЛОК1
#!perl
use warnings;
# цикл 1 - изменение условия в теле цикла
$i = 1;
while ($i <= 3) {
$а[$i] = sqrt $i:
++$i; # Изменение переменной из условия цикла
}
# цикл 2 - цикл until, эквивалентный циклу 1
$i = 1;
until ($i > 3) {
$a[$i] = sqrt $i;
++$i; # Изменение переменной из условия цикла
}
# цикл 3 - изменение условия в самой выражении -условии
# (завершается нажатием <Ctrl>+<C>).
while ($i = <>) {
$a .= $i
}
# цикл 4 - тело цикла не выполняется ни одного раза
$i = 5;
while ($i <= 3) {
$a[$i] = 1/$i;
++$i;
}
#цикл 5 - бесконечный цикл (не изменяется условие)
$i=1;
while ($i <= 3) {
$a[$i] = 1/$i;
}
#! perl -w
# Вычисление степеней числа 2
$i = 1;
while ($i <= 16) {
print "2 в степени $i: ", 2**$i, "\n";
} continue {
++$i; # Переменная $i всегда увеличивается
# перед выполнением следующей итерации
}
#!perl -w $line = "end in main"; # Функцию my можно заменить на local while ((my $line = <>) !~ /^end$/i) { $line = lc $line; } continue { print $line; } # Напечатает "After while: end in main" print "After while: $line\n";
[МЕТКА] for (ВЫРАЖЕНИЕ1; ВЫРАЖЕНИЕ2; ВЫРАЖЕНИЕ3) БЛОК
for ($i = 1; $i <= 10; $i++) {
. . .
}
эквивалентен циклу while
$i = 1;
while ($i <= 10) {
. . .
} continue {
$i++;
}
$line = "end in main";
for(my $line = 1; $line <=3; $line++) {
print "$line\n" ;
}
# Напечатает "After for: end in main"
print "After for: $line\n";
for (;;) {
# операторы этого блока будут выполняться бесконечно!
}
$i=1;
for (; $i <= 3 ;) {
. . .
$i++;
}
for ($j = 1, $k = 9; $k>0; $j++, $k--) {
$hash{$j} = $k;
}
#!реrl -w
for (print "Введите данные, завершение ввода <Enter>\n";
mу $line = <>;
print "Введите данные, завершение ввода <Enter>\n")
{
last if $line eq "\n";
print "Ввели строку: $line";
}
[МЕТКА] foreach ПЕРЕМЕННАЯ (СПИСОК) БЛОК [МЕТКА] foreach ПЕРЕМЕННАЯ (СПИСОК) БЛОК continue БЛОК
#! perl -w
@array = (1,-6,9,18,0,-10);
@max = $array[0];
foreach $temp (@array) {
$max = $temp if $temp > $max;
}
print "$max";
for $temp (@array) ( # Ключевое слово foreach синоним for. $max = $temp if $temp > $max; }
foreach (@аrrау) { # В качестве переменной цикла
# используется $_.
$max = $_ if $_ > $max;
}
foreach (@аrrау) {
$_ **= 2;
}
#! perl -w %array = ( blue => 1, red => 2, green => 3, yellow => 3 ); foreach (sort keys %array) { print "$_\t => $array{$_}\n"; }
blue => 1 green => 3 red => 2 yellow => 3
| Следующая страница | Содержание главы |
Нет комментариев. Оставить комментарий: |