[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 というファイルを作りこの中に
    ◯◯◯ ＭＬの抜け方は ……… です。

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

[PREVIOUS CHAPTER] [NEXT CHAPTER]