クロージャ
クロージャは内部状態を保持するコードブロックである。かつ、クロージャのある環境と結びつくことができる。
サンプル
sub make_counter {
my $k = shift;
sub {
$k += shift;
};
}
my $x = make_counter 10;
my $y = make_counter 5;my ( $a, $b ) = ( 4, 6 );
print "x + $a = ", $x->($a), "\n";
print "y + $a = ", $y->($a), "\n";
print "x + $b = ", $x->($b), "\n";
print "y + $b = ", $y->($b), "\n";