use locale;
use POSIX;
setlocale(LC_ALL, "sv_SE");

my %mirrors = (
    "[EN:Australia:][EL:Áõóôñáëßá:][IT:Australia:][RO:Australia:][EO:Aýstralio:][TR:Avustralya:][FI:Australia:][PT:Austrália:][ES:Australia:][FR:Australie:][NL:Australi¨e:][HR:Australija:][DE:Australien:][DA:Australien:][NO:Australia:][JA:¥ª¡¼¥¹¥È¥é¥ê¥¢:][ZH:¿D¬w:][SV:Australien:][KO:¿À½ºÆ®·¹ÀÏ¸®¾Æ:][PL:Australia:][HU:Ausztrália:][AR:ÃÓÊÑÇáíå:][RU:á×ÓÔÒÁÌÉÑ:]" => "au",
    "[EN:Bulgaria:][EL:Âïõëãáñßá:][RO:Bulgaria:][IT:Bulgaria:][EO:Bulgario:][TR:Bulgaristan:][FI:Bulgaria:][PT:Bulgária:][ES:Bulgaria:][FR:Bulgarie:][NL:Bulgarije:][HR:Bugarska:][DE:Bulgarien:][DA:Bulgarien:][NO:Bulgaria:][JA:¥Ö¥ë¥¬¥ê¥¢:][ZH:«O¥[§Q¨È:][SV:Bulgarien:][KO:ºÒ°¡¸®¾Æ:][PL:Bu³garia:][HU:Bulgária:][AR:ÈáÛÇÑíå:][RU:âÏÌÇÁÒÉÑ:]" => "bg",
    "[EN:Brazil:][EL:Âñáæéëßá:][RO:Brazilia:][EO:Brazilo:][TR:Brezilya:][FI:Brasilia:][PT:Brasil:][ES:Brasil:][IT:Brasile:][FR:Brésil:][NL:Brazil¨e:][HR:Brazil:][DE:Brasilien:][DA:Brasilien:][NO:Brasil:][JA:¥Ö¥é¥¸¥ë:][ZH:¤Ú¦è:][SV:Brasilien:][KO:ºê¶óÁú:][PL:Brazylia:][HU:Brazília:][AR:ÈÑÇÒíá:][RU:âÒÁÚÉÌÉÑ:]" => "br",
);

my $mirrors_lang = {};
foreach $m (keys %mirrors) {
    while ($m =~ m/\[([A-Z_]+):(.*?):\]/g) {
        $mirrors_lang->{$1}->{$2} = $mirrors{$m};
    }
}
$l = uc("sv");
print STDERR join ("\n",
                   sort { uc($a) cmp uc($b) } keys %{$mirrors_lang->{$l}});

