I would practice with Net::FTPServer for a while, then move up to
Net::Server. That will give you a foundation that will get you ready to handle sockets. If you encounter any problems, post your questions. There are a lot of monks here that can help you with that. Probably the best thing to do right now is to try your hand at writing some code for your ftp client and go from there. Good luck and have fun...