From 50e10f8c57ed7d8f320e4896a4540d81b5cfd7f8 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 9 Dec 2010 02:58:12 +0100 Subject: [PATCH] browser: statcounter usage parser convert-stats-gs --- tools/convert-stats-gs.pl | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tools/convert-stats-gs.pl diff --git a/tools/convert-stats-gs.pl b/tools/convert-stats-gs.pl new file mode 100644 index 0000000..52ecd4f --- /dev/null +++ b/tools/convert-stats-gs.pl @@ -0,0 +1,48 @@ +#!/usr/bin/env perl +use 5.010; +use strict; +use warnings; + +use Data::Dump 'pp'; +use Text::CSV; + +my %BROWSERID = qw( + IE trident + Firefox gecko + Safari webkit_saf + Safari-iPad ios_saf + Chrome webkit_chr + Opera presto +); + +my %count = ( + -source => 'StatCounter', + -site => 'http://gs.statcounter.com/', +); + +my $csv = Text::CSV->new or die Text::CSV->error_diag; +while (my $row = $csv->getline(\*STDIN)) { + my ($browser, $pct) = @$row; + $browser and $pct or next; + + my $version = $browser =~ s/ (\d\S*)$// ? $1 : 0; + given ($browser) { + when ('Browser Version') { + $pct =~ s/^Market Share % // and $count{-date} = $pct; + } + $browser =~ tr/ /-/; + $browser = $_ for $BROWSERID{$browser} // (); + $version =~ s/\.0$//; + $count{$browser}->{$version} += $pct; + } +} +$csv->eof or $csv->error_diag; + +print pp(\%count); + +__END__ + +=head1 USAGE + +cat | F > browser-usage-gs.inc.pl + -- 2.30.0