man MIME::Type () - Definition of one MIME type
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" # 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'
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 CWMIME::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
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
MIME::Type->new(OPTIONS) Create (instantiate) a new MIME::Type object which manages one mime type.
Option Defined in Default encoding <depends on type> extensions [] simplified <derived from type> system C<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 CWtext/ will default to CWquoted-printable and all other to CWbase64. . 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 CWx-, 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 CWx- 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 CW$^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.
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])
MIME::Type->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 CWx- preamble to indicate that. Of course, after recognition, the CWx- 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->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 CW'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 CWx-. This counts for as well the media-type as the sub-type. In case either one of the types starts with CWx- this method will return false.
$obj->isSignature Returns true when the type is in the list of known signatures.
$obj->mediaType The media type of the simplified mime. For CW'text/plain' it will return CW'text'. For historical reasons, the CW'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 CW'text/plain' it will return CW'plain'.
DIAGNOSTICS
Error: Type parameter is obligatory.
When a MIME::Type object is created, the type itself must be specified with the CWtype option flag.
REFERENCES
See the Mime::Types website at <http://perl.overmeer.net/mimetypes/> for more details.
COPYRIGHTS
Module version 1.16. Written by Mark Overmeer (mimetypes@overmeer.net). See the ChangeLog for other contributors.
Copyright (c) 2001-2003 by the author(s). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.