The server reads from the client with the following line in do_something():
my ($l) = <$fh>;
That is not a list assignment. If you want to read all of the data from the client, try adding local $/ = undef; before the above line.
|90% of every Perl application is already written. ⇒|