It was an exercise and I plan on using it in the real world.
I use this in a CGI based interface. Net::Ping has to run as someone with Administrator on IIS which was not allowed.(Yes I even tried commenting out that line...)
I read that using threads was much more memory efficent than using fork. I am not qualified to debate you on which method is faster or more efficent, or better (fork/threads). Why don't you post that question to the Monks?