-#!perl -n
+#!/usr/bin/perl -n
use 5.010; use strict; use warnings;
our %count;
our $mobile;
+if (m{<td class=hl>} .. m{</?td>}) {
+ $count{-source} = 'http://stats.wikimedia.org/archive/squid_reports/';
+ $count{-title } = 'Wikimedia';
+ $count{-date} = $1 if m{ period: (?:\d+ )?(\w+ \d+) };
+ next;
+}
+
# select relevant columns
/>Browser versions(.*)/ ... m{</table>} && last or next;
my ($tr, $id, $count2, $count) = split /(?:<[^>]*>)+/;
$version //= 0;
given ($browser) {
when (['Firefox', 'Iceweasel']) {
- $browser = 'gecko';
+ $browser = 'firefox';
continue;
}
when ('MSIE') {
- $browser = 'trident';
+ $browser = 'ie';
continue;
}
when ('Opera') {
- $browser = $mobile ? 'op_mob' : 'presto';
+ $browser = $mobile ? 'op_mob' : 'opera';
for ($version) {
if (m{\(Mini(.*)\)$}) {
$browser = 'op_mini';
($_) = $1 =~ m{^/(\d+)};
continue;
}
- s/\d\d\.\d\K.*// or do {
- # major part only, except for ≥v9.6
- $_ ge '9.6' ? ($_ = '9.6') : (s/\..*//);
- };
+ s/^\d*\.\d\K.*//; # one significant digit
}
continue;
}
when ('Safari') {
- $browser = $mobile ? 'ios_saf' : 'webkit_saf';
+ $browser = $mobile ? 'ios_saf' : 'safari';
my $numversion = join('.', map { sprintf '%03d', $_ } split /\./, $version);
$numversion =~ s/6(?=\d{3})//; # incomparable 6532.22 → 523
for (
[ '525' => '2' ],
[ '528' => '3' ],
[ '531' => '3.2' ],
- [ '531.022' => '4.1' ],
+ [ '531.022' => '4' ],
[ '533' => '4.2' ],
[ '534' => '4x' ],
) : (
}
}
when ('Chrome') {
- $browser = 'webkit_chr';
+ $browser = 'chrome';
s/\.\d+$// for $version;
}
when ('Android') {