What I would do is put the $q->dequeue; down in the get_url
subroutine;
such that:
sub get_url {
my $url = $q->dequeue);
get($url);
print "Retrieved $url\n";
}
I'm using threads to act similar to a select or fileevent
in Perl/Tk to monitor log files so I'm in the same
boat you are in trying to learn some more about Perl Threads
But I would look into your join code and see what you can see.
Is the script holding up at Thread creation or joining?