MIME::Field::ContType(User Contributed Perl DocumentatMIME::Field::ContType(3)NAMEMIME::Field::ContType - a "Content-type" field
DESCRIPTION
A subclass of Mail::Field.
Don't use this class directly... its name may change in the future!
Instead, ask Mail::Field for new instances based on the field name!
SYNOPSIS
use Mail::Field;
use MIME::Head;
# Create an instance from some text:
$field = Mail::Field->new('Content-type',
'text/HTML; charset="US-ASCII"');
# Get the MIME type, like 'text/plain' or 'x-foobar'.
# Returns 'text/plain' as default, as per RFC-1521:
my ($type, $subtype) = split('/', $field->type);
# Get generic information:
print $field->name;
# Get information related to "message" type:
if ($type eq 'message') {
print $field->id;
print $field->number;
print $field->total;
}
# Get information related to "multipart" type:
if ($type eq 'multipart') {
print $field->boundary; # the basic value, fixed up
print $field->multipart_boundary; # empty if not a multipart message!
}
# Get information related to "text" type:
if ($type eq 'text') {
print $field->charset; # returns 'us-ascii' as default
}
PUBLIC INTERFACE
boundary
Return the boundary field. The boundary is returned exactly as
given in the "Content-type:" field; that is, the leading double-
hyphen ("--") is not prepended.
(Well, almost exactly... from RFC-1521:
(If a boundary appears to end with white space, the white space
must be presumed to have been added by a gateway, and must be deleted.)
so we oblige and remove any trailing spaces.)
Returns the empty string if there is no boundary, or if the bound-
ary is illegal (e.g., if it is empty after all trailing whitespace
has been removed).
multipart_boundary
Like "boundary()", except that this will also return the empty
string if the message is not a multipart message. In other words,
there's an automatic sanity check.
type
Try real hard to determine the content type (e.g., "text/plain",
"image/gif", "x-weird-type", which is returned in all-lowercase.
A happy thing: the following code will work just as you would want,
even if there's no subtype (as in "x-weird-type")... in such a
case, the $subtype would simply be the empty string:
($type, $subtype) = split('/', $head->mime_type);
If the content-type information is missing, it defaults to
"text/plain", as per RFC-1521:
Default RFC-822 messages are typed by this protocol as plain text in
the US-ASCII character set, which can be explicitly specified as
"Content-type: text/plain; charset=us-ascii". If no Content-Type is
specified, this default is assumed.
Note: under the "be liberal in what we accept" principle, this rou-
tine no longer syntax-checks the content type. If it ain't empty,
just downcase and return it.
NOTES
Since nearly all (if not all) parameters must have non-empty values to
be considered valid, we just return the empty string to signify missing
fields. If you need to get the real underlying value, use the inher-
ited "param()" method (which returns undef if the parameter is miss-
ing).
AUTHOR
Eryq (eryq@zeegee.com), ZeeGee Software Inc (http://www.zeegee.com).
David F. Skoll (dfs@roaringpenguin.com) http://www.roaringpenguin.com
perl v5.8.8 2006-03-17 MIME::Field::ContType(3)