http://www.perlmonks.org?node_id=344826


in reply to Re^6: exec()ed process dont write to std(?:err|out) (system)
in thread exec()ed process dont write to std(?:err|out)

I couldn't (and still can't) see how I can use a single wrapper with multiple scripts this way.

Something like this, maybe?

@echo off REM REM nperl.bat REM REM Assumes %1 holds perl script copy /Y C:\Perl\bin\perl.exe %1.exe > NUL %1.exe %* del /Y %1.exe > NUL

Put it in your path, and call it as: nperl script.pl args

I tried to figure out a way to avoid hard-coding the path to the perl executable, but Windows batch files are pretty limited and I couldn't come up with one.

Update: This might not work on earlier versions of Windows (ie, pre-2k? non-NT based?), as they don't support the %* construct. (At least, I don't think they do.)

bbfu
Black flowers blossom
Fearless on my breath