in reply to Virtual Filehandles..

Yet Another Way To Do It. Use IPC::Open2 to create filehandles writing to/from the command perl -e 'print <>'

Usually that is overkill, but there are situations where you've got multiple filehandles where the tie emulations and equivalents will cause something to block but this will not. (The block would happen because you are trying to talk to a process that is trying to talk to you, and both wait forever for the other to listen...) Ironically you're most likely to run into these situations when you're already using IPC::Open2 or IPC::Open3.