Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MIME::TYPE (3)

.ds Aq ’


MIME::Type - description of one MIME type



 use MIME::Types;
 my $mimetypes = MIME::Types->new;
 my MIME::Type $plaintext = $mimetypes->type(text/plain);
 print $plaintext->mediaType;   # text
 print $plaintext->subType;     # plain

 my @ext = $plaintext->extensions;
 print "@ext"                   # txt asc c cc h hh cpp

 print $plaintext->encoding     # 8bit
 if($plaintext->isBinary)       # false
 if($plaintext->isAscii)        # true
 if($plaintext->equals(text/plain) {...}
 if($plaintext eq text/plain) # same

 print MIME::Type->simplified(x-appl/x-zip) #  appl/zip


MIME types are used in MIME entities, for instance as part of e-mail and HTTP traffic. Sometimes real knowledge about a mime-type is need. Objects of MIME::Type store the information on one such type.


overload: <B>string comparisonB> When a MIME::Type object is compared to either a string or another 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: <B>stringificationB> 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



MIME::Type-><B>newB>(%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 x-, to indicate that is a non-registered name. Of course, after registration this flag can disappear which adds to the confusion. The simplified string has the x- thingies removed and are translated to lower-case.
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.


$obj-><B>encodingB>() Returns the type of encoding which is required to transport data of this type safely.
$obj-><B>extensionsB>() Returns a list of extensions which are known to be used for this mime type.
$obj-><B>simplifiedB>( [$string] )
MIME::Type-><B>simplifiedB>( [$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 x- preamble to indicate that. Of course, after recognition, the x- can disappear. In many cases, we prefer the simplified version of the type.

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-><B>systemB>() Returns the regular expression which can be used to determine whether this type is active on the system where you are working on.
$obj-><B>typeB>() Returns the long type of this object, for instance text/plain


$obj-><B>equalsB>($string|$mime) Compare this mime-type object with a STRING or other object. In case of a STRING, simplification will take place.
$obj-><B>isAsciiB>() Old name for isText().
$obj-><B>isBinaryB>() Returns true when the type is not known to be text. See isText().
$obj-><B>isExperimentalB>() [2.00] Return true when the type is defined for experimental use; the subtype starts with x.
$obj-><B>isPersonalB>() [2.00] Return true when the type is defined by a person for private use; the subtype starts with prs.
$obj-><B>isRegisteredB>() Mime-types which are not registered by IANA nor defined in RFCs shall start with an x-. This counts for as well the media-type as the sub-type. In case either one of the types starts with x- this method will return false.
$obj-><B>isSignatureB>() Returns true when the type is in the list of known signatures.
$obj-><B>isTextB>() [2.05] All types which may have the charset attribute, are text. However, there is currently no record of attributes in this module... so we guess.
$obj-><B>isVendorB>() [2.00] Return true when the type is defined by a vendor; the subtype starts with vnd.
$obj-><B>mediaTypeB>() 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 retrieve the same value. However, that method is deprecated.

$obj-><B>subTypeB>() The sub type of the simplified mime. For text/plain it will return plain.


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


This module is part of MIME-Types distribution version 2.13, built on March 07, 2016. Website:


Copyrights 1999,2001-2016 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 MIME::TYPE (3) 2016-03-07

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.