"\n";クロージャの定義クロージャであるための条件は、サブルーチンが、自分のスコープ外のレキシカル変数を参照していることです。)クロージャの定義は人や状況によってあいまいです。含む環境」のことをクロージャと呼ぶこともあります。サブルーチンを作成するときは、必ず引数として変数を受け取って、スコープ外の変数を参照してはいけないと書きましたが、クロージャは例外のひとつです。Perlのスコープについては以下の記事を参考にしてください。varサブルーチン内で参照されているために、スコープが終了しても、メモリ上から削除されない。レキシカル変数は、スコープが終わって、どこからも参照されていないときにメモリ上から破棄される。varサブルーチンは、スコープの影響を受けないため、スコープ外からは見える。サブルーチンだけである。値にアクセスすることができる。スコープ外からデータにはアクセス不能スコープ外からは、サブルーチンを通じてのみデータにアクセス可能。直接データにアクセスすることができない。クロージャを「関数ジェネレータ」を使って作成するクロージャを関数ジェネレータを使って作成してみます。