use strict; use warnings; use 5.010; my @languages = qw/Perl PHP Ruby/; my $lang = 'Python'; foreach $lang (@languages){ say $lang; } say '===========Loop is end!=========='; say $lang;
В результате получим:
Perl
PHP
Ruby
===========Loop is end!==========
Python
Таким образом Perl, при входе в цикл foreach сохраняет значение управляющей переменной, а после выхода из цикла восстанавливает ее.
Кроме того при модификации управляющей переменной - меняется и элемент массива:
use strict; use warnings; use Data::Dumper; use 5.010; my @languages = qw/Perl PHP Ruby/; my $lang = 'Python'; foreach $lang (@languages){ $lang = "$lang is cool!" if $lang eq 'Perl'; say $lang; } say Dumper(\@languages);
Получим:
Perl is cool!
PHP
Ruby
$VAR1 = [
'Perl is cool!',
'PHP',
'Ruby'
];
Комментариев нет:
Отправить комментарий