フォーラムを見回して答えを探してみましたが、わかりません。計算に時間がかかるWebページのフォームを送信した後、Mechanizeはすべての計算が完了するのを待ちます(1時間かかる場合でも)。それは起こらないようです。Mechanizeオブジェクトを作成し、フォームを送信し、計算が完了した後に出力ファイルをダウンロードするサブルーチンを繰り返し処理しています。ただし、計算に時間がかかる場合があるため、これらのタスクをすべて完了せずに、ループの次の反復にジャンプするように感じます。誰か提案はありますか?ありがとう。これはサブルーチンです
sub microinspector {
my ($sequence, $folder) = @_;
print STDOUT "subroutine sequence: $sequence\n";
my $browser = WWW::Mechanize->new();
$browser->get("http://bioinfo.uni-plovdiv.bg/microinspector/");
$browser->form_number(1);
$browser->field("target_sequence", $sequence);
$browser->select("Choose an organism : ", "Mus musculus");
$browser->submit();
#print $browser->content();
my @links = $browser->links();
chdir($folder) or die "Cannot chdir to $folder";
foreach my $link (@links) {
#print $link->url();
if( $link->url() =~ /csv$/i ){
my $result = $browser->get( $link->url() );
my $filename = ( $link->url() =~ /\/([^\/]+)$/ )[0];
print "Saving $filename\n";
open( OUT, ">$filename" );
print OUT $result->content();
close( OUT );
}
}
}