use IPC::Open3; : allow to run shell commands and get the STDIN, STDOUT, STDERR.
use IO::Select; : check if a handler has something to be read.
use Term::ANSIColor qwconstants); : helps to do the colorize.