Email::MIME::ContentType - Parse a MIME Content-Type or Content-Disposition Header
version 1.022
use Email::MIME::ContentType; # Content-Type: text/plain; charset="us-ascii"; format=flowed my $ct = 'text/plain; charset="us-ascii"; format=flowed'; my $data = parse_content_type($ct); $data = { type => "text", subtype => "plain", attributes => { charset => "us-ascii", format => "flowed" } }; # Content-Type: application/x-stuff; # title*0*=us-ascii'en'This%20is%20even%20more%20; # title*1*=%2A%2A%2Afun%2A%2A%2A%20; # title*2="isn't it!" my $ct = q(application/x-stuff; title*0*=us-ascii'en'This%20is%20even%20more%20; title*1*=%2A%2A%2Afun%2A%2A%2A%20; title*2="isn't it!"); my $data = parse_content_type($ct); $data = { type => "application", subtype => "x-stuff", attributes => { title => "This is even more ***fun*** isn't it!" } }; # Content-Disposition: attachment; filename=genome.jpeg; # modification-date="Wed, 12 Feb 1997 16:29:51 -0500" my $cd = q(attachment; filename=genome.jpeg; modification-date="Wed, 12 Feb 1997 16:29:51 -0500"); my $data = parse_content_disposition($cd); $data = { type => "attachment", attributes => { filename => "genome.jpeg", "modification-date" => "Wed, 12 Feb 1997 16:29:51 -0500" } };
This routine is exported by default.
This routine parses email content type headers according to section 5.1 of RFC 2045 and also RFC 2231 (Character Set and Parameter Continuations). It returns a hash as above, with entries for the type, the subtype, and a hash of attributes.
type
subtype
attributes
For backward compatibility with a really unfortunate misunderstanding of RFC 2045 by the early implementors of this module, discrete and composite are also present in the returned hashref, with the values of type and subtype respectively.
discrete
composite
This routine parses email Content-Disposition headers according to RFC 2183 and RFC 2231. It returns a hash as above, with entries for the type, and a hash of attributes.
This is not a valid content-type header, according to both RFC 1521 and RFC 2045:
Content-Type: type/subtype;
If a semicolon appears, a parameter must. parse_content_type will carp if it encounters a header of this type, but you can suppress this by setting $Email::MIME::ContentType::STRICT_PARAMS to a false value. Please consider localizing this assignment!
parse_content_type
$Email::MIME::ContentType::STRICT_PARAMS
Same applies for parse_content_disposition.
parse_content_disposition
Simon Cozens <simon@cpan.org>
Casey West <casey@geeknest.com>
Ricardo SIGNES <rjbs@cpan.org>
Matthew Green <mrg@eterna.com.au>
Pali <pali@cpan.org>
Thomas Szukala <ts@abusix.com>
This software is copyright (c) 2004 by Simon Cozens.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Email::MIME::ContentType, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Email::MIME::ContentType
CPAN shell
perl -MCPAN -e shell install Email::MIME::ContentType
For more information on module installation, please visit the detailed CPAN module installation guide.