#!/usr/bin/perl use warnings FATAL => 'all'; use IO::Socket; use strict; $SIG{ALRM} = sub { print "hi!\n"; alarm 2; }; alarm 1; our $sock = IO::Socket::INET->new(PeerAddr=>'irc.freenode.net',PeerPort=>6667,Proto=>'tcp',Timeout=>'180') or die $!; $sock->send("USER awk awk awk awk\r\n"); $sock->send("NICK foobarfoos\r\n"); while (<$sock>) { $sock->send("PONG $1\r\n") if /^PING (.*)$/; if (/376/) {$sock->send("JOIN #zamanfou\r")} print $_; }