- my $url = uri_param_munge($options{pubmed_site}.$options{pubmed_search_url},
- {term => $search,
- db => $options{database},
- },
- );
- my $request = HTTP::Request->new('GET', $url);
- my $response = $ua->request($request);
- $response = $response->content;
- my @gene_ids = $response =~ m/\[GeneID\:\s+(\d+)\]/g;
-
+ my $uri = URI->new($options{pubmed_site}.$options{pubmed_search_url});
+ $uri->query_form($uri->query_form(),
+ term => $search.' AND '.$options{orgn}.'[Orgn]',
+ db => $options{database},
+ );
+ my $url = $uri->as_string;
+ my $mech = WWW::Mechanize->new(agent => "DA_get_ncbi_results/$REVISION");
+ $mech->get($url);
+ my @gene_ids;
+ {
+ do {
+ my $response = $mech->content();
+ push @gene_ids , $response =~ m{\[GeneID\:\s+(\d+)\s*\]\s*</td>}mg;
+ last unless $mech->find_link(text => 'Next');
+ $mech->follow_link(text => 'Next');
+ } while (1);
+ }