in reply to system call returns incorrect in windows
From the Windows command prompt you can find out which program is being run from a command by using the 'where' command.
C:\Users\Lotus1>where perl C:\Strawberry\perl\bin\perl.exe C:\Users\Lotus1>where test1 C:\Users\Lotus1\test1.bat
I found ant.bat at https://github.com/apache/ant/blob/master/src/script/ant.bat. I noticed this interesting comment at line 188:
:end rem bug ID 32069: resetting an undefined env variable changes the erro +rlevel. if not "%_JAVACMD%"=="" set _JAVACMD= if not "%_ANT_CMD_LINE_ARGS%"=="" set ANT_CMD_LINE_ARGS= if "%ANT_ERROR%"=="0" goto mainEnd goto omega
The issue you are seeing is not a Perl bug but something that ant.bat is doing to the ERRORLEVEL. I don't know if the bug mentioned above is the source of the problem. Looking at bat files is too annoying so I'm giving up on it. Good luck.
Update: I found a bugreport for this issue with ant.bat. https://bz.apache.org/bugzilla/show_bug.cgi?id=41039 Which version of ant.bat are you using?
|
|---|