I'm also trying the IO::Socket approach, but I'm having trouble of a different kind now. I get all the data in one array, but I'm unfamiliar with how to terminate the read and send the data back. It automatically sends if I close the connection, but I want to do some give and take across the connection before closing it.