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 $@;
}
}Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >