- my $download = LWP::Simple::get($url) or die "No data from $url\n";
- undef $input;
- open $input, '<', \$download or die $!;
+ {
+ my $url = $site.'browser_version';
+ my $download = LWP::Simple::get($url) or die "No data from $url\n";
+ open my $input, '<', \$download or die $!;
+ parsecsv($input);
+ }
+
+ {
+ my $url = $site.'mobile_vs_desktop';
+ my $download = LWP::Simple::get($url) or warn "No data from $url\n";
+ open my $input, '<', \$download or die $!;
+ parsecsv($input);
+
+ my %mult = map {
+ $_ => ( delete $count{$_} )->{0} / 100,
+ } qw(Desktop Mobile);
+
+ # apply desktop multiplier with inverse of mobile (reverted below)
+ for (values %count) {
+ ref $_ eq 'HASH' or next;
+ $_ *= $mult{Desktop} / $mult{Mobile} for values %$_;
+ }
+ $count{Opera} = delete $count{opera}; # preserve
+
+ $url = $site.'mobile_browser';
+ $download = LWP::Simple::get($url) or warn "No data from $url\n";
+ open $input, '<', \$download or die $!;
+ parsecsv($input);
+
+ # apply mobile multiplier to everything (undoing it for desktop)
+ for (values %count) {
+ ref $_ eq 'HASH' or next;
+ $_ *= $mult{Mobile} for values %$_;
+ }
+ $count{op_mini} = delete $count{opera}; # mobile distinction
+ $count{opera} = delete $count{Opera}; # restore desktop
+ }
+}
+else {
+ parsecsv(\*STDIN);