in reply to How to run external win32 process in Perl/Tk
My problem is when I generate a stand-alone executable using PerlApp, I cannot run it on a machine which does not have perl installed. Not even on a machine where perl is not installed on c: directory.As somebody else already wrote, $^X contains the path of the perl that launched your script, $0 is the name of the script. The module FindBin can help in locating where your script is... for a normal script.I tried to create destroy.exe and have it in the same folder as the main program, but that did not work either.
I don't know what it does under PerlApp. I can recall experimenting with FindBin on a program processed with perl2exe (which is a similar product as PerlApp, from IndigoStar, and it failed to work correctly on W2K. I now no longer have access to that particular machine.
So, what can you do? Can you fork()? There is a proper working fork emulation on 5.6.x perls for Win32.
Another thought is for the program to launch itself again, with a command line switch (in $args) to tell itself to execute that other functionality. I think that is currently your best option for under PerlApp.
|
---|