Source of countries.plp
<(common.inc.plp)><:
Html({
title => 'country code cheat sheet',
version => 'v1.0',
description =>
"Table of ISO-3166-2 country codes with the names of reserved territories.",
keywords => [qw'country code cc tld territory land table'],
stylesheet => [qw'light dark circus mono red'],
});
:>
<h1>ISO-3166-2α2 Country codes</h1>
<:
my $cc = do 'countries.inc.pl';
{
printf '<table class="mcmap">';
print '<col><colgroup span="26">';
for my $section (qw{thead}) {
print "<$section><tr><th>↳";
print '<th>', $_ for 'a' .. 'z';
print "\n";
}
print '<tbody>';
for my $row ('a' .. 'z') {
print '<tr><th>', $row;
for my $col ('a' .. 'z') {
my $code = $row . $col;
my $country = $cc->{$code} or do {
print $code =~ /^x|^q[m-z]|^aa|^zz/ ? '<td class="X Co">' : '<td>';
next;
};
my ($name, $class, $short, $ref) = @$country;
$ref ||= $code;
local $_ = $ref;
if (exists $get{show}) {
my $img = "flag/$ref.png";
$_ = sprintf '<img src="/%s" alt="%s">', $img, $ref if -e $img;
}
else {
$_ = $short || $name;
s/,.*//;
s/(?<=.)\(.*\)\s*//;
s/ republic\b//gi;
s/ islands?\b//gi;
s/\bthe //g;
s/ and / & /g and s/(?<=.)[a-z ]+//g;
s/\bsaint /st /gi;
s/South(?:ern)? /S-/g;
s/North(?:ern)? /N-/g;
s/New /n./g;
s/(\S)(\S+)-/$1-/g; # strip most chars preceding dash
s/(\S{4}[b-df-hj-np-tv-xz])((?<!Austr)(?!land)\w{2,})/$1./g; # abbreviate (at consonant)
$_ = EscapeHTML($_);
}
$name =~ s/([^,]*), (.*)/$2 $1/;
printf "\n".'<td class="%s" title="%s">%s',
$_ ? 'X '.$class : '', EscapeHTML("$code: $name"), $_;
}
print "\n";
}
print "</table>\n";
}
:>
<hr>
<div class="legend">
<table class="glyphs"><tr>
<td class="X c-af">africa
<td class="X c-eu">europe
<td class="X c-as">asia
<td class="X c-aa">antarctica
<td class="X c-oc">oceania
<td class="X c-sa">south america
<td class="X c-na">north america
<td class="">reserved
<td class="X Co">user-assigned
</table>
<div class="right">
<ul class="legend legend-set">
<li><strong>show</strong>
<em><:= exists $get{show} ? 'flag images' : 'english names' :></em><:=
!exists $get{show} && ' by default' :>
<li>default <strong>style</strong> is
<:= defined $get{style} && 'set to ' :><em><:= $style :></em>
</ul>
</div>
</div>