sub shell_quote { return join ' ', map { ( defined && length ) ? join q[\\'], map { (length) ? qq['$_'] : q[] } split /'/, $_, -1 : q['']; } @_; }