line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package WWW::MobileCarrierJP::Softbank::Java; |
2
|
1
|
|
|
1
|
|
327
|
use WWW::MobileCarrierJP::Declare; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
6
|
|
3
|
1
|
|
|
1
|
|
4
|
use charnames ':full'; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
6
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
parse_one( |
6
|
|
|
|
|
|
|
urls => ['http://creation.mb.softbank.jp/mc/terminal/terminal_info/terminal_sapp.html'], |
7
|
|
|
|
|
|
|
xpath => q(//div[@class='terminaltable']/table/tr[ not(@bgcolor="#cccccc") and count(child::td) != 1 and position() != 1]), |
8
|
|
|
|
|
|
|
scraper => scraper { |
9
|
|
|
|
|
|
|
my $limit; |
10
|
|
|
|
|
|
|
col 1 => 'model' => 'TEXT'; |
11
|
|
|
|
|
|
|
col 2 => 'heap' => [ |
12
|
|
|
|
|
|
|
'TEXT', sub { |
13
|
|
|
|
|
|
|
/(\d+)(M|K)(\((\d+)(M|K)\))?/; +{ base => _exchange($1, $2), ex => _exchange($4, $5) }; |
14
|
|
|
|
|
|
|
}]; |
15
|
|
|
|
|
|
|
col 3 => 'cldc' => [ |
16
|
|
|
|
|
|
|
'TEXT', sub { s/\N{MULTIPLICATION SIGN}//; s/\s\z// } |
17
|
|
|
|
|
|
|
]; |
18
|
|
|
|
|
|
|
col 4 => 'midp' => [ |
19
|
|
|
|
|
|
|
'TEXT', sub { s/\N{MULTIPLICATION SIGN}//; s/\s\z// } |
20
|
|
|
|
|
|
|
]; |
21
|
|
|
|
|
|
|
col 5 => 'profile' => [ 'TEXT', sub { s/\N{MULTIPLICATION SIGN}//; s/\s\z// } ]; |
22
|
|
|
|
|
|
|
col 6 => 'felica_api' => [ 'TEXT', sub { s/\N{MULTIPLICATION SIGN}//; s/\s\z// } ]; |
23
|
|
|
|
|
|
|
col 7 => 'location_api' => [ |
24
|
|
|
|
|
|
|
'TEXT', sub { |
25
|
|
|
|
|
|
|
s/\N{MULTIPLICATION SIGN}//; &_marubatsu; |
26
|
|
|
|
|
|
|
}]; |
27
|
|
|
|
|
|
|
col 9 => 'limit' => [ |
28
|
|
|
|
|
|
|
'TEXT', sub { |
29
|
|
|
|
|
|
|
s/\N{MULTIPLICATION SIGN}//; /(\d+)(M|K)/; _exchange($1, $2); |
30
|
|
|
|
|
|
|
}]; |
31
|
|
|
|
|
|
|
col 8 => 'size' => [ |
32
|
|
|
|
|
|
|
'TEXT', sub { |
33
|
|
|
|
|
|
|
/(\d+)(M|K)\/(\d+)(M|K)\/(\d+)(M|K)/; |
34
|
|
|
|
|
|
|
+{ jad => _exchange($1, $2), jar => _exchange($3, $4), rs => _exchange($5, $6) }; |
35
|
|
|
|
|
|
|
}]; |
36
|
|
|
|
|
|
|
}, |
37
|
|
|
|
|
|
|
); |
38
|
|
|
|
|
|
|
|
39
|
0
|
0
|
|
0
|
|
|
sub _marubatsu { $_ =~ /\N{WHITE CIRCLE}|\N{BULLSEYE}/ ? 1 : 0 } |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
sub _exchange { |
42
|
0
|
|
|
0
|
|
|
my ($heap, $sufix) = @_; |
43
|
0
|
0
|
0
|
|
|
|
return 0 if !$heap || !$sufix; |
44
|
0
|
0
|
|
|
|
|
return $heap * 1024 if $sufix eq 'K'; |
45
|
0
|
0
|
|
|
|
|
return $heap * 1024 * 1024 if $sufix eq 'M'; |
46
|
0
|
|
|
|
|
|
return 0; |
47
|
|
|
|
|
|
|
} |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
1; |
50
|
|
|
|
|
|
|
__END__ |