I do completely agree with you jwkrahn. Regarding the subroutine invocation I didn't realize this misfunctionality. Regarding the while (<$sock>) {} loop I was looking to grab the result I need from a few lines response I got in my test, so this left like that.
Thank you for rectifications indeed.