in reply to Re^2: Strange system call failure in OS X
in thread Strange system call failure in OS X
Do I break it into a separate item for each argument?
Yes, it is system "/usr/bin/foobar", "arg", "arg", "--arg=arg" ...
Any need for quotes?
No. Quotes are for the shell.
See system/exec.., kinda dense/long, but essentially system q{single "st" "ri" "ng"} could be open to shell interpolation/invoke the shell, while system "single", "st", "ri", "ng" will avoid the shell
So list is preferable because you don't have to quote to a particular shell , just quote for perl
perlop#Quote and Quote like Operators discusses making a list with qw" st ri ng ";
While you're in a learning mood, get a free copy of Modern Perl
See also
- perlrun
- Behind the GUI lives the Shell
- Windows Command Line Interpreter|Shell|DOS Prompt|Batch Files|Scripting
- Csh Programming Considered Harmful
- How Command Line Parameters Are Parsed
- http://www.gnu.org/software/bash/manual/bashref.html#Quoting
- String::ShellQuote/Win32::ShellQuote, Re: system() implementation on Windows (again), Re^3: system() implementation on Windows (again), Everyone quotes command line arguments the wrong way
- Proc::Background
- The Windows NT Command Shell
- exec always invokes the shell? win32, System, exec different behaviour with spaces
In Section
Seekers of Perl Wisdom