[PREVIOUS CHAPTER] [NEXT CHAPTER]
2 ユーザがHOOKなどで安全に使える関数

2.1	ヘッダ関係の操作

GET_HEADER_FIELD_VALUE( header_field )

	現在の値を取り出す。

GET_ORIGINAL_HEADER_FIELD_VALUE( header_field )

	fml が最初にメールを受けとった時の元々の値を取り出す。

SET_HEADER_FIELD_VALUE( header_field , value )

	前述の GET_HEADER_FILED_VALUE() の対称性のために作った関数。
	ヘッダフィールドの値を特定にものにする。

	ようは DEFINE_FIELD_FORCED() と一緒だけど
	もうちょっと汎用的

2.2	%Envelope の操作

GET_ENVELOPE_VALUE( hash_key )

	%Envelope ハッシュのあるキーの値を取り出す

SET_ENVELOPE_VALUE( hash_key, value )

	%Envelope ハッシュのあるキーの値を設定する or 上書きする。

ENVELOPE_APPEND( hash_key, value )

	%Envelope ハッシュのあるキーに値をつけたす。
	つまり現在の内容の後にいれる。

ENVELOPE_PREPEND( hash_key, value )

	%Envelope ハッシュのあるキーに値をつけたすが、現在の内容の
	直前に挿入する。

2.3	ファイルを読む

GET_BUFFER_FROM_FILE( file )

	ファイルを読んで来てその値を返す。
	大きなファイルは読まない方がいいとおもうぞ

	$s = &GET_BUFFER_FROM_FILE( "$DIR/xxx" );


2.4	これらの関数を使う例 (本文へ注意をつけたす)

(2000/06/05 以降の fml-current)

$START_HOOK = q#
	my ($s) = &GET_BUFFER_FROM_FILE("$DIR/info");
	&ENVELOPE_APPEND('Body', &STR2JIS($s));
#;

ここで $DIR/info は /var/spool/ml/elena/info に展開される。
/var/spool/ml/elena/info というファイルを作りこの中に
◯◯◯ MLの抜け方は ……… です。

などと書いておきます。過去のリリース、fml-stable および 2000/06 以前の 
current では %Envelope を直接いじってください。
[PREVIOUS CHAPTER] [NEXT CHAPTER]