16 Safari-iPod-Touch ios_saf
20 Chrome-for-iPhone chrome
28 Chrome-for-Android and_chr
33 Samsung-Internet samsung
37 -title => 'StatCounter',
38 -site => 'http://gs.statcounter.com/',
44 region_hidden => 'ww', # Worldwide
45 device_hidden => 'desktop%2Bmobile%2Btablet%2Bconsole',
46 'multi-device' => 'true',
47 granularity => 'monthly',
48 fromMonthYear => $ARGV[0],
49 toMonthYear => $ARGV[1] // $ARGV[0],
52 my $site = $count{-site};
53 $site .= 'chart.php?'.join('&', map "$_=$param{$_}", keys %param);
54 $site .= '&statType_hidden=';
55 $count{-source} = $site;
59 my $url = $site.'browser_version';
60 my $download = LWP::Simple::get($url) or die "No data from $url\n";
61 open my $input, '<', \$download or die $!;
71 my $csv = Text::CSV->new or die Text::CSV->error_diag;
72 while (my $row = $csv->getline($input)) {
73 my ($browser, $pct) = @$row;
74 $browser and $pct or next;
76 my $version = $browser =~ s/ (\d\S*)$// ? $1 : 0;
78 when ('Browser Version') {
79 $pct =~ s/^Market Share (?:%|Perc\.) // or break;
80 $pct =~ s/\A\((.*)\)\z/$1/;
84 $browser = $_ for $BROWSERID{$browser} // ();
87 # desktop variant has version, mobile doesn't
88 if ($version eq '0') {
89 $browser = 'op_mini' if $browser eq 'opera';
90 $browser = 'and_ff' if $browser eq 'firefox';
93 $count{$browser}->{$version} += $pct;
96 $csv->eof or $csv->error_diag;
105 cat <csv data> | F<mkusage-statcounter> > browser-usage-gs.inc.pl
107 F<mkusage-statcounter> <year-month>