[МЕТКА] 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
Следующая страница | Содержание главы |
Нет комментариев. Оставить комментарий: |