<h1>IM emoticons</h1>
<:
-print '<div class="section">'."\n";
+say '<div class="section">';
for my $system (qw'gmail msn yahoo') {
my @info = do "emoji-$system.inc.pl";
my $meta = shift @info or die $@;
ref $meta eq 'HASH' or die "invalid $system definitions";
my $title = $meta->{name} // $system;
- $title = qq{<a href="$_">$title</a>} for $meta->{source} || ();
+ $title = showlink($title, $_) for $meta->{source} || ();
- printf '<div class="section"><h2>%s</h2>'."\n\n", $meta->{name} // $system;
- print '<table><tbody>'."\n";
+ say sprintf '<div class="section"><h2>%s</h2>', $meta->{name} // $system;
+ say '<table><tbody>';
for (my $i = 0; $i <= $#info; $i++) {
my $name = $info[$i];
unless (ref $info[$i+1] eq 'ARRAY') {
- printf '</table><table><tbody>'."\n", $name;
+ say sprintf '</table><table><tbody>', $name;
next;
}
my ($input, $flags, $char, $desc) = @{ $info[++$i] };
- printf('<tr><th><img src="%s" alt="%s"><td><kbd>%s</kbd><td>%s%s'."\n",
+ say sprintf('<tr><th><img src="%s" alt="%s"><td><kbd>%s</kbd><td>%s%s',
sprintf($meta->{ $flags =~ /\bext\b/ ? 'iconext' : 'icon' } // '%s', $name),
EscapeHTML($name),
EscapeHTML($input),
$char ? '<td>'.chr($char) : '',
);
}
- print "</table></div>\n\n";
+ say "</table></div>\n";
}
-print "</div><hr>\n\n";
+say "</div><hr>\n";