I would take a look at the script and compare it to the cpan documentation at http://search.cpan.org/~gbarr/IO-1.25/lib/IO/Socket/INET.pm
There's a good chance when you upgraded the Perl, the modules were also upgraded and some of the methods in the module have changed.
Just a thought.
By the way, the uninitialized value warning simply indicates you are using a empty/undefined value in a join method in the module. That's why I believe you're not using the module correctly. However, since you've been using the script for 10 years, I'm suggesting the module version has changed.