Possibly
IO::Lambda would be able to help you. One needs to
invest in learning the syntax though.
use strict;
use HTTP::Request;
use IO::Lambda qw(:lambda);
use IO::Lambda::HTTP qw(http_request);
lambda {
for my $url (
'http://www.perl.com',
'http://www.google.com',
'http://www.yahoo.com',
) {
context(
HTTP::Request-> new(GET => $url),
# list of possible options:
#
# async_dns => 1,
# auth => 'Basic', username => 'A', password => 'B
+',
# conn_cache => shared LWP::ConnCache instance
# keep_alive => 1,
# proxy => [ '127.0.0.1', 8080 ],
# timeout => 60,
# max_redirect => 100,
);
http_request {
my $res = shift;
if ( ref($res) and ref($res) eq 'HTTP::Response') {
print "$url: ", length($res-> content), " bytes\n";
} else {
print "$url: error :$res\n";
}
}
}
}-> wait;