I have a script that creates a file with a registered file type extension. When it is completed, I want to automagically run an application to open and display it.
I can use exec() as the last command of my script, and it works, except that the script waits for the app to close, just like system().
I'm not calling a program to open the doc, instead, I'm calling directly the created file, and expect Windows to chose for the proper or default app for that extension (just like a double click over the file in explorer).
Is there a workaround to this problem other than to call the application with my doc as a parameter using a list? My file is pure HTML, and I don't want to force the use of IE.
BTW, if I run a second instance of my script while the first one is waiting for IE to exit, it exits as expected just after the doc is displayed on a second tab, even if I use system()!!! (i.e. it does not wait... Argh!)
Test case:
son.pl:
#!perl -w use strict; warn "Calling a son...\n"; # Choose one: exec("son.html"); #system("son.html"); #exec("son.txt"); # The following does not wait: #exec("notepad.exe son.txt"); #exec("notepad.exe","son.html"); exit 0;
son.html:
<h1>JAPH</h1>
son.txt:
JAPH
In reply to exec() on Windows by vitoco
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |