私はPerlでエミュレータを構築しています。私が直面している問題の1つは、コンピュータにあるJSONファイルを解析することです。私は私のサーバーからそれらを取得しようとすると、彼らは正常に動作...PerlでJSONを取得する
method getContent(\@arrURLS) {
my %arrInfo;
my $resUserAgent = Mojo::UserAgent->new;
foreach my $strURL (@arrURLS) {
$resUserAgent->get($strURL => sub {
my($resUserAgent, $tx) = @_;
if ($tx->success) {
my $strName = basename($strURL, '.json');
my $arrData = $tx->res->body;
$arrInfo{$strName} = $arrData;
}
Mojo::IOLoop->stop;
});
Mojo::IOLoop->start;
}
return \%arrInfo;
}
はのは@arrURLS
を想定してみましょうです:
my @arrURLS = ("file:///C:/Users/Test/Desktop/JSONS/first.json", "file:///C:/Users/Test/Desktop/JSONS/second.json");
上記のURLのは、私は変更があれば、作業されていない1つのさんですそれは:
my @arrURLS = ("http://127.0.0.1/test/json/first.json", "http://127.0.0.1/test/json/second.json");
です。私はLWP::Simple
でCoro
を使用していたとき
また、私はそれをはるかに高速だったが、残念ながらCoro
はPerlの5.22に壊れている、それは少し遅いようなのでMojo::UserAgent
よりも良いものを使用したいと思います...
スピードに関しては、http://www.martin-evans.me.uk/node/169に興味があります。 – simbabque
'Mojo :: UserAgent'オブジェクトは' http'スキームのみをサポートします。あなたは、 'http'、' https'、 'ftp'、' file'、 'mailto'などを透過的にサポートする' LWP :: UserAgent'を代わりに使うほうが良いでしょう。 – Borodin