The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl
use strict;
use warnings;
use WWW::MobileCarrierJP::EZWeb::Model;
use WWW::MobileCarrierJP::EZWeb::DeviceID;
use YAML;
use FindBin;
use File::Spec;
use Data::Dumper;
use Encode;
use File::Slurp;

my $yaml_path = File::Spec->catfile($FindBin::Bin, '..', 'assets', 'common', 'useragent.yaml');
my $orig = YAML::Load(decode('euc-jp', read_file $yaml_path));
my $model_dat = WWW::MobileCarrierJP::EZWeb::Model->scrape;
my $device_id_dat =
  +{ map { $_->{model} => $_->{device_id} }
      @{ WWW::MobileCarrierJP::EZWeb::DeviceID->scrape } };

$orig->{ez} = [];
for my $model (@$model_dat) {
    my $res = {};
    my $device_id = $device_id_dat->{$model->{model_long}};
    if ($model->{browser_type} eq 'HDML') {
        $res->{agent} = "UP.Browser/3.04-$device_id UP.Link/3.4.5.9";
    } else {
        $res->{agent} = "KDDI-$device_id UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0";
    }
    $res->{name}   = $model->{model_long};
    $res->{flash}  = $model->{flash_lite};
    $res->{width}  = $model->{display_browsing}->{width};
    $res->{height} = $model->{display_browsing}->{height};
    $res->{cookie} = 1;

    push @{$orig->{ez}}, $res;
}
print encode('euc-jp', YAML::Dump($orig));