http://www.perlmonks.org?node_id=671885


in reply to IRC Client not Joining Channel

As mentioned before, you need to do a much better job of parsing the IRC protocol. Your current methods would fail if you were in a channel and somebody sent a simple message such as 'QUIT, you oddball parser!'

At one point in the past, I wrote my own IRC bot just to prove to myself that I could, but the protocol is really just plain nasty, and it took a lot of reverse engineering via wireshark (then called ethereal) because I didn't find the RFC particularly helpful.

The key problem with your code has been mentioned by ambrus. There should not be any slashes in the commands you send to the server. That is the first clue. I believe the join command will probably work if you simply remove the leading '/' on the command.

I'd recommend looking at this Parse::Irc module. It does most of the dirty work of parsing, and looks pretty nice. I don't really know about those other modules, but unless your goal is to learn about network communications and the IRC protocol, I'd recommend using one of them.