From 53ac47862f4b40c1088c5eaf360fa0ddee110634 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Tue, 14 Jul 2015 02:40:35 +0200 Subject: [PATCH 1/1] countries: handle (multiple) aliases properly in flag mode --- countries.plp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/countries.plp b/countries.plp index 61a4795..18b9860 100644 --- a/countries.plp +++ b/countries.plp @@ -35,16 +35,24 @@ my $cc = do 'countries.inc.pl'; my ($name, $class, $short, $ref) = @$country; $name .= " → $ref" if $ref; $ref ||= $code; - local $_ = $ref; + my $cell; if (exists $get{show}) { - my $img = "data/flag/$ref.png"; - $_ = sprintf '%s', $img, $ref if -e $img; + sub showflag { + my ($cc) = @_; + my $img = "data/flag/$cc.png"; + return -e $img && + sprintf '%s', $img, $cc; + } + + $cell = showflag($code) // join(' ', + map { showflag($_) || $_ } split / /, $ref + ); } else { - $_ = EscapeHTML($short || $name); + $cell = EscapeHTML($short || $name); } printf "\n".'%s', - $_ ? 'X '.$class : '', EscapeHTML("$code: $name"), $_; + $cell ? 'X '.$class : '', EscapeHTML("$code: $name"), $cell; } print "\n"; } -- 2.30.0