Perl практика

Локальные переменные в функциях.


При помощи операции my можно создавать локальные переменные

sub add { my($sum); $sum = 0; foreach $_ (@_) { $sum += $_; }

return $sum; }

sub bigger_than_100 { # создает список всех элементов массива &gt 100 my(@result); foreach $_ (@_) { if($_ > 100) { push(@result, $_); } } return @result; }

sub bigger_than { # создает список всех элементов массива &gt 100 my($n, @values); ($n, @values) = @_;

my($result); foreach $_ (@values) { if($_ > $n) { push(@result, $_); } } return @result; } @new = bigger_than(100, @list); @this = bigger_than(5, 1, 5, 15, 30); # @this содержит (15, 30)

Использовали две локальные переменные - это удобнее, чем указывать $_[0]

и @_[1..$#_].

Список, создаваемый my, можно использовать в правой части выражения:

my($n, @values) = @_;

my($sum) = 0;



Содержание раздела