|
#1
|
|||
|
|||
Can't get single quotes to work properly.
I have some perl script that is designed to store a directories contents in a variable and then use it. The code works fine if run directly from a command prompt (substituting print for the LogMessage function), but when i try to run it through visual build I get no errors and nothing stored in the variable. Note the single quotes tell it to substitute the commands output for the command. And yes i intended my path separators to be "/"
my @history=`cmd.exe /c dir \"B:/3.0_history/server/windows/distro_files\" /ad /od /b`; foreach $folder(@history) { $Builder->LogMessage($folder); } Thanks for your help! |
#2
|
|||
|
|||
I got errors in both cases when using forward slashes with the dir command, but using ActivePerl 5.8.2.808 produced the expected output in both of these cases:
test.pl: my @history=`cmd.exe /c dir c:\\windows\\*.ini /b`; foreach $folder(@history) { print $folder; } test.bld: <step action='Run Script' type='0'> <Language>PerlScript</Language> <Script><![CDATA[my @history=`cmd.exe /c dir c:\\windows\\*.ini /b`; foreach $folder(@history) { $Builder->LogMessage($folder, False); } ]]></Script> <indent type='3'>1</indent> <name>perl test</name> </step> output: control.ini desktop.ini msdfmap.ini ODBCINST.INI system.ini vb.ini vbaddin.ini win.ini |
|
|