Ok, I understand the reason this works the way it does - Ruby wants the
shell to handle any special characters that may result in
substitutions/matching, etc. That makes sense. But is there an "official
workaround" for this problem? And if not, can I rest well at night with
my '\n' workaround in my companys stable source tree? It's just a
warning message now, but in the future, I can't really forsee any
problems with putting a CR at end of exec_str, but...

Thanks,
-Sean


ts wrote:

>>>>>>"S" == Sean Harre <sharre / transmeta.com> writes:
>>>>>>            
>>>>>>
>
>S>     exec_str = "./foo.pl test\n"
>S>     exec(exec_str)
>
>S> Anyone have an idea why this works?
>
> When ruby find some special characters (like \n;[]{} ...) in the string, it
> call the shell (/bin/sh -c) rather than trying to exec directly the
> program. In this case it don't test the variable PATH
>
>
>
>Guy Decoux
>
>
>
>  
>