EXPR is executed as a system command. The collected standard output of the command is returned. In scalar context, it comes back as a single (potentially multi-line) string. In list context, returns a list of lines (however you've defined lines with
$INPUT_RECORD_SEPARATOR). This is the internal function implementing the
qx/EXPR/ operator, but you can use it directly. The
qx/EXPR/ operator is discussed in more detail in "I/O Operators" in perlop.