-# convert to usable syntax
-my ($browser, $version) = split /\h+/, $id || ' ', 2;
-$count =~ s/,//g;
-$count =~ s/%$//;
-$version //= 0;
-given ($browser) {
- when (['Firefox', 'Iceweasel']) {
- $browser = $mobile ? 'and_ff' : 'firefox';
- continue;
- }
- when ('MSIE') {
- $browser = $mobile ? 'ie_mob' : 'ie';
- continue;
- }
- when ('Opera') {
- $browser = $mobile ? 'op_mob' : 'opera';
- for ($version) {
- if (m{\(Mini(.*)\)$}) {
- $browser = 'op_mini';
- ($_) = $1 =~ m{^/(\d+)};
- continue;
- }
- s/^\d*\.\d\K.*//; # one significant digit
- }
- continue;
- }
- when ('Safari') {
- $browser = $mobile ? 'ios_saf' : 'safari';
- }
- when ('Chrome') {
- $browser = $mobile ? 'and_chr' : 'chrome';
- s/\.\d+$// for $version;
- }
- when ('Android') {
- $browser = 'android';
- }
- when ('BlackBerry') {
- $browser = 'bb';
- }
- when ('UCWEB') {
- $browser = 'and_uc';
- }
- s/\.0$// for $version;
-}
-
-$count{$browser}{$version} += $count;
-
-END {
- use Data::Dump 'pp';
- print pp(\%count);
-}
-
-sub safariver {
- my ($webkitnum, $ios) = @_;
- my $safarinum = '';
- for (
- $ios ? (
- [ 413 => '1' ],
- [ 419 => '1.1' ],
- [ 525 => '2' ],
- [ 528 => '3' ],
- [ 531 => '3.2' ], # or 4 from 531.022
- [ 532 => '4' ],
- [ 533 => '4.2' ],
- [ 534 => '5' ],
- [ 536 => '7' ],
- [ 537 => '8' ],
- [ 600 => '8.1' ],
- ) : (
- # http://en.wikipedia.org/wiki/Safari_version_history
- [ 412 => '2' ],
- [ 522 => '3' ],
- [ 525 => '3.1' ], # 3.2 from 525.026
- [ 526 => '4' ],
- [ 533 => '5' ], # or 4.1
- [ 534 => '5.1' ],
- [ 536 => '6' ],
- [ 537 => '7.1' ], # or 6.1 or 7.0
- [ 538 => '8' ],
- )
- ) {
- last if $webkitnum lt $_->[0];
- $safarinum = $_->[1];
- }
- return $safarinum;
-}