From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

#!/opt/perl/bin/perl
my $cv = AnyEvent->condvar;
my $hdl;
my $watchobj = AnyEvent::Socket::tcp_connect ("www.google.com", 80, sub {
my ($sock) = @_;
unless ($sock) {
warn "couldn't connect: $!";
return;
}
$hdl =
AnyEvent::Handle->new (
fh => $sock,
on_eof => sub { print "received eof\n"; undef $hdl }
);
$hdl->push_write ("GET / HTTP/1.0\015\012\015\012");
$hdl->push_read (line => sub {
my ($hdl, $line) = @_;
print "Yay, got line: $line\n";
$cv->broadcast;
});
}, sub {
10 # the timeout
});
$cv->wait;