Determine language and charset simultaneously
my($al,$ac) = ($r->header_in("Accept-Language"),
$r->header_in("Accept-Charset");
if (not defined $ac){
my $protocol = $r->protocol || "";
my($major,$minor) = $protocol =~ m|HTTP/(\d+)\.(\d+)|;
$ac = "utf-8" if $major >= 1 && $minor >= 1;
}
my $hhh = HTTP::Headers->new("Accept-Language", $al
"Accept-Charset", $ac);
my $variants = [
['ja+utf-8', 1.0,undef,undef,'utf-8', 'ja',undef],
['ja+iso-2022-jp',0.1,undef,undef,'iso-2022-jp','ja',undef],
['de+utf-8', 1.0,undef,undef,'utf-8', 'de',undef],
['de+iso-8859-1', 1.0,undef,undef,'iso-8859-1', 'de',undef],
];
$pref = HTTP::Negotiate::choose($variants, $hhh);