use AnyEvent::HTTP; my @urls = map { chomp; $_ } ; while(my @ten_urls = splice(@urls,0,10)) { my $cv = AnyEvent->condvar; for my $url (@ten_urls) { $cv->begin; http_get $url, timeout => 5, sub { my ($body, $hdr) = @_; warn "[$hdr->{Status}:$hdr->{Reason}] ",$url," (",length($body),")\n"; $cv->end; }; } $cv->recv; warn "-----","\n"; }