The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mail::Message::Field::Flex - one line of a message header

CLASS INHERITANCE

Mail::Message::Field::Flex is a Mail::Message::Field is a Mail::Reporter

SYNOPSIS

DESCRIPTION

This is the flexible implementation of a field: it can easily be extended because it stores its data in a hash and the constructor (new) and initializer (init) are split. However, you pay the price in performance. Mail::Message::Field::Fast is faster (as the name predicts).

METHODS

Initiation

consume LINE | (NAME,BODY|OBJECTS)

See Mail::Message::Field::consume()

new DATA

If you stick to this flexible class of header fields, you have a bit more facilities than with Mail::Message::Field::Fast. Amongst it, you can specify options with the creation. Possible arguments:

  • new LINE

  • new NAME, (BODY|OBJECTS), [ATTRIBUTES], [OPTIONS]

To be able to distinguish the different parameters, you will have to specify the OPTIONS as ARRAY of option pairs, or HASH of options. The ATTRIBUTES are a flat list of key-value pairs. The body is specified as one BODY string, one OBJECT, or a reference to an array of OBJECTS. See Mail::Message::Field:

 OPTION               DEFAULT
 attributes           []
 comment              undef
 log                  'WARNINGS'
 trace                'WARNINGS'
attributes => ATTRS

Reference to array with list of key-value pairs representing attributes, or reference to a hash containing these pairs. This is an alternative notation for specifying ATTRIBUTES directly as method arguments.

comment => STRING

A pre-formatted list of attributes.

log => LEVEL

See Mail::Reporter::new(log)

trace => LEVEL

See Mail::Reporter::new(trace)

The Field

clone

See Mail::Message::Field::clone()

isStructured

See Mail::Message::Field::isStructured()

length

See Mail::Message::Field::length()

Access to the Field

Name

See Mail::Message::Field::Name()

addresses

See Mail::Message::Field::addresses()

attribute NAME [, VALUE]

See Mail::Message::Field::attribute()

body

See Mail::Message::Field::body()

comment [STRING]

See Mail::Message::Field::comment()

dateToTimestamp STRING

See Mail::Message::Field::dateToTimestamp()

folded

See Mail::Message::Field::folded()

folded_body [BODY]

See Mail::Message::Field::folded_body()

name

See Mail::Message::Field::name()

nrLines

See Mail::Message::Field::nrLines()

See Mail::Message::Field::print()

size

See Mail::Message::Field::size()

stripCFWS STRING

See Mail::Message::Field::stripCFWS()

toDate [TIME]

See Mail::Message::Field::toDate()

toDisclose

See Mail::Message::Field::toDisclose()

toInt

See Mail::Message::Field::toInt()

toString [WRAP]

See Mail::Message::Field::toString()

unfolded_body [BODY, [WRAP]]

See Mail::Message::Field::unfolded_body()

wellformedName [STRING]

See Mail::Message::Field::wellformedName()

Reading and Writing [internals]

defaultWrapLength [LENGTH]

See Mail::Message::Field::defaultWrapLength()

fold NAME, BODY, [MAXCHARS]

See Mail::Message::Field::fold()

setWrapLength [LENGTH]

See Mail::Message::Field::setWrapLength()

unfold STRING

See Mail::Message::Field::unfold()

Logging and Tracing

defaultTrace [LEVEL, [LEVEL]

See Mail::Reporter::defaultTrace()

errors

See Mail::Reporter::errors()

log [LEVEL [,STRINGS]]

See Mail::Reporter::log()

report [LEVEL]

See Mail::Reporter::report()

reportAll [LEVEL]

See Mail::Reporter::reportAll()

trace [LEVEL]

See Mail::Reporter::trace()

warnings

See Mail::Reporter::warnings()

Other Methods

AUTOLOAD

See Mail::Reporter::AUTOLOAD()

DESTROY

See Mail::Reporter::DESTROY()

inGlobalDestruction

See Mail::Reporter::inGlobalDestruction()

logPriority LEVEL

See Mail::Reporter::logPriority()

logSettings

See Mail::Reporter::logSettings()

notImplemented

See Mail::Reporter::notImplemented()

SEE ALSO

A good start to read is Mail::Box-Overview. More documentation and a mailinglist are available from the project's website at http://perl.overmeer.net/mailbox/.

AUTHOR

Mark Overmeer (mark@overmeer.net) with the help of many.

VERSION

This code is beta, version 2.022.

Copyright (c) 2001-2002 Mark Overmeer. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.