use threads qw(yield); use Thread::Semaphore; use Net::Ping; use Socket;