NAME
MIME::Type - Definition of one MIME type
SYNOPSIS
use MIME::Types;
my $mimetypes = MIME::Types->new;
my MIME::Type $plaintext = $mimetype->type('text/plain');
print $plaintext->mainType; # text
print $plaintext->subType; # plain
my @ext = $plaintext->extensions;
print "@ext" # asc txt c cc h hh cpp
print $plaintext->encoding # 8bit
if($plaintext->isBinary) # false
if($plaintext->isAscii) # true
print MIME::Type->simplified('x-appl/x-zip') # 'appl/zip'
DESCRIPTION
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.
This module is built to conform to the MIME types standard defined in RFC 1341 and updated by RFC's 1521 and 1522. It follows the collection kept at http://www.ltsw.se/knbase/internet/mime.htp
METHODS
- new OPTIONS
-
Create a new
MIME::Type
object which manages one mime type.OPTION DEFAULT type <obligatory> simplified <derived from type> extensions undef encoding <depends on type> system undef
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.
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 thex-
thingies removed and are translated to lower-case.extensions => REF-ARRAY
An array of extensions which are using this mime.
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 toquoted-printable
and all other tobase64
.system => REGEX
Regular expression which defines for which systems this rule is valid. The REGEX is matched on
$^O
.
- type
-
Returns the long type of this object, for instance
'text/plain'
- simplified [STRING]
-
(Instance method or Class method) 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, thex-
can disappear. In many cases, we prefer the simplified version of the type.Examples:
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'
- mainType
-
The main type of the simplified mime. For
'text/plain'
it will return'text'
. - subType
-
The sub type of the simplified mime. For
'text/plain'
it will return'plain'
. - extensions
-
Returns a list of extensions which are known to be used for this mime type.
- encoding
-
Returns the type of encoding which is required to transport data of this type safely.
- system
-
Returns the regular expression which can be used to determine whether this type is active on the system where you are working on.
- isBinary
-
Returns true when the encoding is base64.
- isAscii
-
Returns false when the encoding is base64, and true otherwise. All encodings except base64 are text encodings.
- isSignature
-
Returns true when the type is in the list of known signatures.
SEE ALSO
AUTHOR
Mark Overmeer (mimetypes@overmeer.net). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
VERSION
This code is beta version 0.12.
Copyright (c) 2001 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.