sub australianNationalUniversity {
use AustralianNationalUniversity;
AustralianNationalUniversity::search( $maxHits, %searchTerms );
my @results = AustralianNationalUniversity::getResults();
lock(@searchResults);
push ( @searchResults, @results );
}
####
# at the beginning of your code:
use GenericSearch;
# and then just ONE sub for all threads
sub get_search {
my $group = shift;
GenericSearch::search($group, $maxHits, %searchTerms );
my @results = GenericSearch::getResults();
lock(@searchResults);
push ( @searchResults, @results );
}
####
my @search = grep /^_/, param();
# now remove the underscores
$_ = substr($_,1) for @search;
# now create the threads;
my @thread = map { threads->new(sub {get_search($_)})}, @search;
# and finally, join them when done
$_->join for @thread;