$con = IO::Socket::INET->new(PeerAddr=>"$server", PeerPort=>"$port", Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; $select = IO::Select->new($con); while(@ready = $select->can_write) { for $socket (@ready) { #The DCC Connection if($socket == $dcc) { $talk = <$dcc>; print $talk; #The Server Connection } elsif ($socket == $con) { $answer = <$con>; print $answer; # echo everything that comes from the server to screen #lots of other stuff here if ($answer =~ /:(.*)\!.* PRIVMSG $me :\001DCC CHAT chat (\d+) (\d+)\001\r\n/) { print "Received dcc from $1 with $2 and $3\n"; $dcc = IO::Socket::INET->new(PeerAddr=>"$2", PeerPort=>"$3", Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; print $dcc "Please Enter Your Password!\n"; $select = IO::Select->new($dcc); } } else { print "more stuff to come here" } } }