blob: 99ccae5d6dc78d880c480b9274703c9214a5743e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
<!--
$FML$
-->
<chapter id="hook">
<title>
HOOK
</title>
<sect1>
<title>
hook �ˤ����������
</title>
<para>
hook ����̯�ʡ��⤷����ʣ���ʥ������ޥ����Τ��������ɬ�פǤ���
�Ǥ����������ˤ����ƤϤ����Ĥ������꤬����ޤ���
</para>
<para>
�ޤ������� hook ��̾���˰���δ�बɬ�פǤ���
$START_HOOK �Τ褦��ۣ��ʤ�ΤǤϤʤ���
</para>
<para>
�ޤ���HOOK �ν��������礦���礦�ɤ��ʤ��Ƥ�ư���Τ��褤�Ǥ��礦��
�̾�
use strict;
�ˤʤäƤ��ޤ�����
HOOK ��ɾ������ lexical scope �Ǥ�̵�뤹��褦�ˤ���٤��Ǥ��礦��
</para>
</sect1>
<sect1>
<title>
hook ��̿̾��§
</title>
<para>
hook ̾����ɸ��Ū�ʷ����ˤĤ��Ƥ�
<screen>
�ץ������̾_��å�̾_start_hook
�ץ������̾_��å�̾_end_hook
</screen>
�Τ褦�ˤ��뤳�Ȥˤ��ޤ���
�㤨�С�fmlconf �Υᥤ�����ʬ run() �� HOOK ��̾����
<screen>
fmlconf_run_start_hook
fmlconf_run_end_hook
</screen>
�Ȥʤꡢrun() ����Ǥ� hook �ƤӽФ��ϼ��Τ褦�ʥ����ɤˤʤ�ޤ���
<screen>
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 $@;
}
}
</screen>
</para>
<para>
���¤ˤϤ�äȤ��������ʾ��� HOOK ���ʤ������ؤǤ��礦����
����̾���Ͼ�Ҥ� HOOK �ʳ������ꤷ�ޤ���
ñ��� hook2 �Ǥ����Τ��⤷��ʤ�����
��ǽ�Ǥ���Ф⤦�������䤹��̾���ˤ���٤��Ǥ��礦��
</para>
</sect1>
</chapter>
|