クロージャ

Perlにおけるクロージャとはスコープの外に出たレキシカル変数を参照するサブルーチンのこと。

テストコード

my $closure;
{
my $count = 0;
$closure = sub {print $count++;};
}
$closure->() for (0..9);

実行結果

0123456789

つまり

クロージャ使うと変数を隠蔽できるので、名前空間を汚染しないし、外部からの変数書き換えを心配しなくていいということか。