hook の命名規則

hook 名前の標準的な形式については

役割名_メソッド名_start_hook
役割名_メソッド名_end_hook
などとすることにしました。ここで役割名は「use_XXX_function」(例: use_article_post_function)のXXX部分です。もっと粒度の細かいHOOKについ ては、この形式でないものもあります。

たとえば、fmlconf コマンドのメインの部分 run() の HOOK の名前は

fmlconf_run_start_hook
fmlconf_run_end_hook
となり、run() の中での hook 呼び出しは次のようなコードになります。
sub run
{
    my ($curproc, $args) = @_;
    my $config  = $curproc->{ config };

    my $eval = $config->get_hook( 'fmlconf_run_start_hook' );
    if ($eval) {
	eval qq{ $eval; };
	print STDERR $@ if $@;
    }

    $curproc->_fmlconf($args);

    $eval = $config->get_hook( 'fmlconf_run_end_hook' );
    if ($eval) {
	eval qq{ $eval; };
	print STDERR $@ if $@;
    }
}

現実にはもっといろいろな場所に HOOK がないと不便でしょうが、 その名前は上述の HOOK 以外に設定します。 単純に hook2 でいいのかもしれないし、 可能であればもう少し理解しやすい名前にするべきでしょう。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.