Hi, Sorry for the long delay in my response, it took me a while to get back to this.
when I try the command in msys bash I get PID PPID COMMAND 5324 1 /msys/bin/bash 5976 5324 /msys/bin/bash 6184 5324 /msys/bin/ps But when I try in command line, I get Can't find string terminator "'" anywhere before EOF at -e line 1. It seems that perl runs new process under a windows command prompt, and not under bash. So the quotes are not parsed correctly Thanks, Tzafrir On Sun, Apr 5, 2015 at 12:19 PM, Ole Tange <ta...@gnu.org> wrote: > On Sun, Apr 5, 2015 at 10:12 AM, Tzafrir Poupko <tzaf...@ceemple.com> > wrote: > > > I had to change the command: > > Why? > > > 3451,3452c3451,3452 > > < my $sysv = q( ps -ef | perl -ane '1..1 and /^(.*)CO?MM?A?N?D/ > > and $s=length $1;). > > < q(s/^.{$s}//; print "@F[1,2] $_"' ); > > --- > >> my $sysv = q( ps -ef | perl -ane "1..1 and /^(.*)CO?MM?A?N?D/ > >> and $s=length $1;). > >> q(s/^.{$s}//; print qq{@F[1,2] $_}" ); > > That will not work. Remember that " is not the same as '. $s, $1 and > $_ are now quoted wrongly, and will cause it to fail miserably when > run. > > > It is still not working, but now with other errors: > > > > ~/tmp/parallel/src $ Can't find string terminator "'" anywhere before > EOF at > > -e line 1. > > Yes. That is expected from your change. > > Can I ask you again to test this on the command line: > > ps -ef | perl -ane '1..1 and /^(.*)CO?MM?A?N?D/ and $s=length > $1;s/^.{$s}//; print "@F[1,2] $_"' > > From your output it seems this version will work. > > > /Ole >