Source of countries.plp

<(common.inc.plp)><:

Html({
	title => 'country code cheat sheet',
	version => '1.3',
	description =>
		"Table of ISO-3166-1 country codes with the names of reserved territories.",
	keywords => [qw'country code cc tld cctld continent territory land table'],
	stylesheet => [qw'light dark circus mono red'],
	data => ['data/countries.inc.pl'],
});

:>
<h1>ISO-3166-1α2 Country codes</h1>

<:
my $cc = do 'data/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;
			$name .= " → $ref" if $ref;
			$ref ||= $code;
			my $cell;
			if (exists $get{show}) {
				sub showflag {
					my ($cc) = @_;
					my $img = "data/flag/$cc.png";
					return -e $img &&
						sprintf '<img src="/%s" alt="%s">', $img, $cc;
				}

				$cell = showflag($code) // join(' ',
					map { showflag($_) || $_ } split / /, $ref
				);
			}
			else {
				$cell = EscapeHTML($short || $name);
			}
			printf "\n".'<td class="%s" title="%s">%s',
				$cell ? 'X '.$class : '', EscapeHTML("$code: $name"), $cell;
		}
		print "\n";
	}
	say '</table>';
}

:>
<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-an">antarctica
	<td class="X c-oc">oceania
	<td class="X c-sa">south america
	<td class="X c-na">north america
	<td class="X Xr">reserved
	<td class="X Xi">org
	<td class="">free
	<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>