Nonblocking IO using IO::Select