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
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