#!/usr/bin/perl use 5.014; use warnings; use Data::Dump 'pp'; our $VERSION = '1.00'; my %BROWSERID = qw( IE ie IE-Mobile ie_mob Edge ie Edge-Mobile ie Firefox firefox Firefox-Mobile and_ff Safari safari Mobile-Safari ios_saf Mobile-Safari-UIWebView ios_saf Chrome chrome Chromium chrome Chrome-Mobile android Chrome-Mobile-iOS android Android android Opera opera Opera-Mini op_mini BlackBerry-WebKit bb UC-Browser and_uc ); my %count = ( -title => 'Wikimedia', -site => 'https://analytics.wikimedia.org/', ); my $recent = qr/^2017-/; (readline =~ y/\t//) == 3 or die "unexpected amount of columns in header\n"; while (my $row = readline) { my ($date, $name, $version, $pct) = split /\t/, $row; $date =~ $recent or next; $name =~ y/ /-/; my $browser = $BROWSERID{$name} or next; $version =~ s/\A-\z/0/; $count{$browser}{$version} += $pct; $count{-total} += $pct; $count{-date} = $date; } my $mult = 100 / delete $count{-total}; for (values %count) { ref $_ eq 'HASH' or next; $_ *= $mult for values %{$_}; } say '+', pp(\%count); __END__ =head1 USAGE curl https://analytics.wikimedia.org/datasets/periodic/reports/metrics/browser/all_sites_by_browser_family_and_major_percent.tsv | ./mkusage-wikimedia >browser-usage.inc.pl