print '<thead><tr>';
print '<th colspan="3">feature';
-printf '<th colspan="%d">%s',
- scalar @{ $versions{$_} }, $caniuse->{agents}->{$_}->{browser}
- for @browsers;
+printf('<th colspan="%d">%s',
+ scalar @{ $versions{$_} },
+ do {
+ my $name = $caniuse->{agents}->{$_}->{browser};
+ length $name < 16 ? $name : $caniuse->{agents}->{$_}->{abbr};
+ },
+) for @browsers;
print '<th>%';
# preceding row without any colspan to work around gecko bug
-print '<tr>';
-print '<td>' x $_ for 3, (map { scalar @{ $versions{$_} } } @browsers), 1;
+print "\n<tr>";
+print '<td>' x 3;
+for my $browser (@browsers) {
+ printf('<td title="%.1f%%">%s',
+ $canihas->{$browser}->{$_}, showversions($_),
+ ) for @{ $versions{$browser} };
+}
+print '<td>' x 1;
print "</thead>\n";
sub featurescore {
),
scalar @span,
$usage,
- showversions(\@span),
+ showversions(@span),
undef $prev;
@span = ();
}
}
sub showversions {
- my ($span) = @_;
- splice @$span, 1, -1;
- for (@$span) {
+ my @span = ($_[0], @_>1 ? $_[-1] : ());
+ for (@span) {
s/^\./0./;
s/x$/.*/;
}
- return join('‒', @$span);
+ return join('‒', @span);
}
:>