NAME

 MIME::Type - Definition of one MIME type


SYNOPSIS

 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"                   # asc txt 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'


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 of RFC's 2045 and 2231. It follows the official IANA registry at http://www.iana.org/assignments/media-types/ and 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
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, the x- 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'

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.

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

isRegistered
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.

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.

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


SEE ALSO

the MIME::Types manpage


AUTHOR

Mark Overmeer (mimetypes@overmeer.net).


VERSION

This code is stable, version 1.005.

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.