Perl/Tk で何かアクションがあったときの動作を記述する関数 sub pushed { print "ボタンが押されました\n"; } $top->Button( -text => 'Push me', -command => \&pushed, )->pack(-side => 'left'); とか、シグナルハンドラ、たとえば SIGALRM による タイムアウトが起こったときの動作を記述する関数 sub signal_handler { print "1秒待ちましたが、入力がありませんでした\n"; alarm(1); } $SIG{ALRM}=\&signal_handler; alarm(1); $buf = <STDIN>; などをコールバック関数といいます。 後者は、より実践的に書けば http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=889 てな感じです。 なお、関数へのリファレンスを使わず、$SIG{ALRM}=sub {...} などと 無名関数を使ってコールバックを設定することもできます。 |