I think the most likely problem in your code is here:
my $rhSet = IO::Select->select($readSet, undef, undef, 0);
foreach $rh(@rhSet)
{
Should it be
my @rhSet = ...? Your @rshSet was never set in your script. It's a common error for new Perl programmers. You can catch these kinds of errors if you turn on the strict pragma with
use strict; at the top of your code.
I recommend to use the cpan module
Net::Server to write your server. Unless you are learning socket level programming, why bother with low level stuff when you have a well written module that does pretty much everything you want?