Chas. Owens wrote:
On Thu, Jun 11, 2009 at 11:47, Tech W.<tech...@yahoo.com.cn> wrote:
snip
system "command","-a","-b","-c";
snip

In this case Perl runs command directly

snip
system "command -a -b -c";
snip

In this case Perl runs the default shell for the OS and has it run command.

perldoc -f system
    system LIST
    system PROGRAM LIST
            Does exactly the same thing as "exec LIST", except that a
            fork is done first, and the parent process waits for the
            child process to complete.  Note that argument processing
            varies depending on the number of arguments.  If there is
            more than one argument in LIST, or if LIST is an array with
            more than one value, starts the program given by the first
            element of the list with arguments given by the rest of the
            list.  If there is only one scalar argument, the argument is
            checked for shell metacharacters, and if there are any, the
            entire argument is passed to the system’s command shell for
            parsing (this is "/bin/sh -c" on Unix platforms, but varies
            on other platforms).  If there are no shell metacharacters
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            in the argument, it is split into words and passed directly
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            to "execvp", which is more efficient.
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to