How do I pipe some output to screen and some other selected output, out of the Perl script?
By using different file handles.
By default you'll have both
In your terminal
Here's an example of printing to each file handle and redirecting each to /dev/null.
You can also declare your own file handles (e.g., a log file) and print to that instead. See
you probably want to read the perlipc documentation, in particular the section on Named Pipes.
perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores)
If you need two-way (read & write) communication with an external program, then the IPC::Open2 or IPC::Open3 modules (standard perl lib, also documented in the URL above) will be useful.