次のように Perl ライブラリHTTP::Asyncを使用しています。
use strict;
use warnings;
use HTTP::Async;
use Time::HiRes;
...
my $async = HTTP::Async->new( ... );
my $request = HTTP::Request->new( GET => $url );
my $start = [Time::HiRes::gettimeofday()];
my $id = $async->add($request);
my $response = undef;
while (!$response) {
$response = $async->wait_for_next_response(1);
last if Time::HiRes::tv_interval($start) > TIME_OUT;
}
...
ループがタイムアウトしてスクリプトが終了するwhile
と、次のエラー メッセージが表示されます。
HTTP::Async object destroyed but still in use at script.pl line 0
HTTP::Async INTERNAL ERROR: 'id_opts' not empty at script.pl line 0
私のオプションは何ですか?HTTP::Async オブジェクトがまだ使用されているが不要になった場合、どのように「クリーンアップ」できますか?