MIME::Head

MIME::Entity配下で、メールヘッダを保持する

使い方:
# MIME::Parserをロードすると、MIME::Bodyもロードされる
use MIME::Parser;
my $parser = MIME::Parser->new( );
# (解析を実行して)MIME::Entity オブジェクトを得る
my $entity = $parser->parse($data);
# MIME::Headオブジェクトを得る
my $body = $entity->head;

my $head = MIME::Head->new( );
インスタンスを生成する。

$head->decode;
Q または B エンコードされているヘッダフィールドをデコードする。

my $head = MIME::Head->read(\*FILEHANDLE);
ファイルハンドルからヘッダを読み込んでインスタンスを生成する。

my $head = MIME::Head->from($filename);
ファイル$filenameからヘッダを読み込んでインスタンスを生成する。

$head->add($field, $value [,$index]);
ヘッダフィールド$fieldを追加して値を$valueに設定する。

$head->replace($field, $value);
ヘッダフィールド$fieldの値を$valueに置換する。

my @values = $head->get($field);
ヘッダフィールド$fieldの値をリスト形式で返す。
行末の改行コードを含む。漢字が含まれていてもutf8フラグOFFの文字列が返ってくる。

my $count = $head->count($field);
ヘッダフィールド$fieldの個数を返す。

my $attr = $head->mime_attr('field_name.attr_name');
フィールド属性の値を返す。例えば、'Content-type.Charset' でCharset属性の値が返る。

いくつかのフィールドは、下記のメソッドで値を取得できる。
$mime_type = $head->mime_type;    # Content-Type
$mime_encoding = $head->mime_encoding;   # Content-Transfer-Encoding
$filename = $head->recommeded_filename;  # Recommentded-Name
$boundary = $head->multipart_boundary;   # Boundary

$head ->print(\*FILEHANDLE);
メールヘッダをFILEHANDLEに出力する。

my $string = $head->as_string;
メールヘッダをスカラーデータで出力する。
漢字が含まれていても、utf8フラグOFFの文字列が返ってくる。