in reply to System substitution

You need to make sure that the shell sees the "scotts test" and "type me" as one name each, and not parse the space in between as a seperator. Conversely, the space before your argument should be parsed as a separator:
use strict; my $command='c:\"scotts test"\"type me"; my $argument='c:\"this is a"\"multi word argument"'; print $command." ".$argument; __END__ c:\"scotts test"\"type me" c:\"this is a"\"multi word argument"
If you replace the print by a call to system(), that should do the trick. It's been a couple of years since I've done anything on the Windows command line, so I might be wrong in my quoting syntax, which would kind of defeat the entire purpose of this post, but there you go :)

CU
Robartes-

Replies are listed 'Best First'.
Re: Re: System substitution
by LTjake (Prior) on Nov 20, 2002 at 13:01 UTC
    on win2k, atleast, these are equivalent:

    C:\>"c:\my test\type me" "c:\my test\type me.bat" @echo off @type %1 C:\>c:\"my test"\"type me" c:\"my test"\"type me.bat" @echo off @type %1
    Any idea about older win32s?

    --
    Rock is dead. Long live paper and scissors!