in reply to InterProcess Communication

For the timer you can use Time::HiRes, which is in core since 5.7.3.

recv says it accepts the same flags as the underlying system call, which is (on my system) MSG_DONTWAIT.