in reply to Re^2: running programs from PERL
in thread running programs from PERL
With POSIX support I meant the libc and lower portions of POSIX and I was under the impression that e.g POSIX exec() was part of whatever was once enough to give Microsoft some claim of POSIX compatibility certifications for NT and later. Looks like I badly misremembered things.
My original question is the reverse of your example:
Can I e.g. set $ENV{VARIABLE} in a non-CYGWIN-port of Perl, and then use system q{dir "%VARIABLE%"} to have cmd.exe expand the variable? More specifically, what happens if the variable contains [\n \\;"']?A new question/request:
What I'd love to do is appending a link to a node giving the comparable portable (or windows) version of $ENV{f}="a b; 'c'"; system q{dir "\$f"}.
Alternately at most a single concise paragraph as a footnote on the windows side of things to Re: *SAFE* use of string in system command.
Otherwise its a bit unfair if the Unix view hogs all the good keywords and doesn't help a windows SoPW :)
What I currently have - after some searching on PerlMonks - is a mess and a headache (and a bit of glee in lacking the windows environment to test this mess).
It reads like system/exec/(pipe-)open should be avoided on Windows for non-trivial commands, preferring IPC::System::Simple or Win32::Process::Create instead.
- asychronnous system(1,...) magic to replace start (windows) or a final '&' (unix).
- lack of fork(): What is the difference between Windows fork an Unix fork ?, with a mismatched substitute in Win32::Process
(archived copy of Mr. Peabody Explains fork()) - Construct command portable way
- Perl Background processes in Windows
- How to Start a Process in a Remote Win32 Machine using Perl and WMI
- help needede in backticks(``) and system function
- Non-shell-invoking system/exec and qx//
- Windows command line; incl. cmd.exe quoting surprises
Do we have a better explanation or tutorial already on PerlMonks or do you know of a suitable resource outside?
Merci!