-# 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';
+for my $row (@lines) {
+ $row =~ s/\r?\n\z//;
+ my ($date, $name, $version, $pct) = split /\t/, $row;
+ $date ge $recent or next;
+ $name =~ y/ /-/;
+ my $browser = $BROWSERID{$name};
+ if (not $browser) {
+ warn "unknown browser: $name v$version ($pct)\n"
+ unless defined $browser or $pct < .005;
+ next;