in reply to Non-blocking Pipes?

The details of this are likely to depend on your platform. For example, Windows only supports select on sockets, and fcntl's powers can vary between systems. What OS are you running on?

Also, anything you can do with pipe can also be done with socketpair, which should support select (and IO::Select) on most platforms. It's worth a try.