open a process for reading, writing, and error handling using open3()| MetaCPAN
IPC::Open3| perldoc.perl.org