HTTP::Headers::ActionPack::MediaTypeList(3) A Priority List customized for Media Types


version 0.09


use HTTP::Headers::ActionPack::MediaTypeList;
# normal constructor
my $list = HTTP::Headers::ActionPack::MediaTypeList->new(
HTTP::Headers::ActionPack::MediaType->new('audio/*', q => 0.2 ),
HTTP::Headers::ActionPack::MediaType->new('audio/basic', q => 1.0 )
# you can also specify the 'q'
# rating independent of the
# media type definition
my $list = HTTP::Headers::ActionPack::MediaTypeList->new(
[ 0.2 => HTTP::Headers::ActionPack::MediaType->new('audio/*', q => 0.2 ) ],
[ 1.0 => HTTP::Headers::ActionPack::MediaType->new('audio/basic' ) ]
# or from a string
my $list = HTTP::Headers::ActionPack::MediaTypeList->new_from_string(
'audio/*; q=0.2, audio/basic'


This is a subclass of the HTTP::Headers::ActionPack::PriorityList class with some specific media-type features. It is the default object used to parse most of the "Accept" header since they will often contain more then one media type.


This returns the same data type as the parent (two element ARRAY ref with quality and choice), but the choice element will be a HTTP::Headers::ActionPack::MediaType object. This is also sorted in a very specific manner in order to align with RFC-2616 Sec14.

  Media ranges can be overridden by more specific
  media ranges or specific media types. If more
  than one media range applies to a given type,
  the most specific reference has precedence.
If this is passed a string, it returns a new HTTP::Headers::ActionPack::MediaType object from that string. If it receives an object it simply returns that object as is.


Stevan Little <[email protected]>



This software is copyright (c) 2012 by Infinity Interactive, Inc..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.