OVERLOADED

overload: string comparison

When a MIME::Type object is compared to either a string or an other MIME::TYpe, the equals() method is called. Comparison is smart, which means that it extends common string comparison with some features which are defined in the related RFCs.

overload: stringification

The stringification (use of the object in a place where a string is required) will result in the type name, the same as type() returns.

» Example: use of stringification
 my $mime = MIME::Type->new('text/html');
 print "$mime\n";   # explicit stringification
 print $mime;       # implicit stringification

METHODS

Initiation

$class->new( OPTIONS )

Create (instantiate) a new MIME::Type object which manages one mime type.

Option Default

encoding

<depends on type>

extensions

[]

simplified

<derived from type>

system

undef

type

<required>

encoding => '7bit'|'8bit'|'base64'|'quoted-printable'
How must this data be encoded to be transported safely. The default depends on the type: mimes with as main type text/ will default to quoted-printable and all other to base64.
extensions => REF-ARRAY
An array of extensions which are using this mime.
simplified => STRING
The mime types main- and sub-label can both start with C
system => REGEX
Regular expression which defines for which systems this rule is valid. The REGEX is matched on $^O.
type => STRING
The type which is defined here. It consists of a type and a sub-type, both case-insensitive. This module will return lower-case, but accept upper-case.
» Error: Type parameter is obligatory.

When a MIME::Type object is created, the type itself must be specified with the type option flag.

Attributes

$obj->encoding

Returns the type of encoding which is required to transport data of this type safely.

$obj->extensions

Returns a list of extensions which are known to be used for this mime type.

$obj->simplified( [STRING] )
$class->simplified( [STRING] )

Returns the simplified mime type for this object or the specified STRING. Mime type names can get officially registered. Until then, they have to carry an C

» Example: results of simplified()
 my $mime = MIME::Type->new(type => 'x-appl/x-zip');
 print $mime->simplified;                     # 'appl/zip'
 print $mime->simplified('text/plain');       # 'text/plain'
 print MIME::Type->simplified('x-xyz/x-abc'); # 'xyz/abc'
$obj->system

Returns the regular expression which can be used to determine whether this type is active on the system where you are working on.

$obj->type

Returns the long type of this object, for instance 'text/plain'

Knowledge

$obj->equals( STRING|MIME )

Compare this mime-type object with a STRING or other object. In case of a STRING, simplification will take place.

$obj->isAscii

Returns false when the encoding is base64, and true otherwise. All encodings except base64 are text encodings.

$obj->isBinary

Returns true when the encoding is base64.

$obj->isRegistered

Mime-types which are not registered by IANA nor defined in RFCs shall start with an C

$obj->isSignature

Returns true when the type is in the list of known signatures.

$obj->mediaType

The media type of the simplified mime. For 'text/plain' it will return 'text'.

For historical reasons, the 'mainType' method still can be used to retreive the same value. However, that method is deprecated.

$obj->subType

The sub type of the simplified mime. For 'text/plain' it will return 'plain'.