NAME

xx - eXpand (reparse) and eXecute the command line

VERSION

This document describes xx, v 0.960.

SYNOPSIS

xx [-s|-so] [<option(s)>] <command> [<argument(s)>]

OPTIONS

-s

Expand the command line (using Win32::CommandLine) and then source the resulting expanded command. This allows modification of the current process environment by the expanded command line. NOTE: MUST be the first argument.

-so

Expand the command line (using Win32::CommandLine) and then source the OUTPUT of the execution of the expanded command. This allows modification of the current process environment based on the OUTPUT of the execution of the expanded command line. NOTE: MUST be the first argument.

--echo, -e

Print (but do not execute) the results of expanding the command line.

--args, -a

Print detailed information about the command line and it's expansion, including all resulting ARGS (without executing the resultant expansion).

--version
--usage
--help, -?
--man

Print the usual program information

REQUIRED ARGUMENTS

<command>

COMMAND...

DESCRIPTION

xx will read expand the command line and execute the COMMAND.

NOTE: xx is designed for use with legacy commands to graft on better command line interpretation behaviors. Generally, it's not necessary to use xx on commands which already use Win32::CommandLine::argv(), as the command line will be re-interpreted. If that's the behavior desired, that's fine; but think about it. ??? what about pl2bat-wrapped perl scripts? Since the command line is used within the wrapping batch file, is it clean for the .pl file or does it need xx wrapping as well?

EXAMPLES

Here are some examples of what's possible in the standard CMD shell:

xx $( perl -MConfig -e "print $Config{cc}" ) $(perl -MExtUtils::Embed -e ccopts) foo.c -o foo

xx $( perl -MConfig -e "print $Config{cc}" ) $(perl -MExtUtils::Embed -e ccopts) -c bar.c -o bar.o