あまりPerlでクロージャを使っている例をみたことがなくて(僕の勉強不足もあるだろうけど)、 友人に聞いてみたところ、 コールバックかな。 と言われたので、やってみよう。 コールバック そもそもコールバックとはなにかというと、 なにかの関数に関数を与えると、その与えた関数を呼んでくれる仕組みである。 言葉で説明すると、わかりにくいのでソースを提示する。 use strict; sub call_you { my $code = shift; print '今から君の関数を呼ぶ', "\n"; $code->(); # コールバック; print '呼び終えました', "\n"; } my $f = sub { print '!!呼んで!!', "\n"; }; call_you($f); 結果: 今から君の関数を呼ぶ !!呼んで!! 呼び終えました コールバックを使った関数 では、次のよう