Re: [Module::Build] ./Build on Win98
Status: Beta
Brought to you by:
kwilliams
|
From: Randy W. S. <ml...@th...> - 2006-03-01 02:33:07
|
Ken Williams wrote: > > On Feb 25, 2006, at 1:32 PM, Randy W. Sims wrote: > >> Ok, here's the problem. The quoting is wrong in the invokation of >> pl2bat. Both arguments to pl2bat got bungled into one misformed arg. I >> need to figure out how to invoke pl2bat from the command line with >> corrected quoting. The command we're using now, that produces the >> bungled last line above is: >> >> pl2bat -n "-x -S """%0""" --build_bat %*" -o "-x -S """%0""" >> --build_bat %1 %2 %3 %4 %5 %6 %7 %8 %9" < Build > Build.bat >> >> It looks like it is trying to expand %*" -o "-x -S """% as an >> evironment var. Maybe an extra space after %*: >> >> pl2bat -n "-x -S """%0""" --build_bat %* " -o "-x -S """%0""" >> --build_bat %1 %2 %3 %4 %5 %6 %7 %8 %9 " < Build > Build.bat >> >> Otherwise, I'm not sure how to quote the percent symbol (%%* doesn't >> work). I've posted a message over on alt.msdos.batch about this. > > Won't the multi-argument form of system() be helpful here? It's > generally much easier to get that to work out than trying to get quoting > right. It doesn't seem so... In order to use redirection in the command that's executed, the shell must be invoked. If you use the multiple arg form of system, you have to explicitly specify the shell. The problem is the shell then requires the syntax: $shell /C "$string" I.E. it only accepts a single string to execute. Using the undocumented(?) trick of passing a 1 as the first arg to system() doesn't help here either. I still haven't received a solution on alt.msdos.batch. Maybe we can fudge a solution. If we rearrange the line so that the problem part is at the end of the string, it won't matter if quoting is wrong: it will be terminated by the end of line. This is a big kludge IMO, but until something else presents here is a snapshot to try out. <http://thepierianspring.org/perl/Module-Build.tar.gz> perl Build.PL Build realclean if not exist Build.bat echo hallelujah perl Build.PL perl Build realclean if not exist Build.bat echo hallelujah perl Build.PL If everything works could you post the batch heading of Build.bat? Build Build test Build realclean Thanks, Randy. |