HTTP::Negotiate provides a complete implementation of the HTTP content
negotiation algorithm. Content negotiation allows for the selection of
a preferred content representation based upon attributes of the
negotiable variants and the value of the various Accept* header fields
in the request.

WWW: http://search.cpan.org/dist/HTTP-Negotiate/
