in reply to Re^2: I want to run a script from another script, use the same version of perl, and reroute IO to a terminal-like textbox
in thread I want to run a script from another script, use the same version of perl, and reroute IO to a terminal-like textbox
Hello ric00015, redirecting STDIN is a little bit harder due to blocking I/O. You might be able to fork a sub-process in the TK program that feeds the external program (which is still running in the same parent process) -- ultra fragile!
Since you can modify the external script, you might be able to read alternatively from STDIN or an @EXT_INPUT array exported from the Tk program to the other one -- and again -- better do not follow/implement this concept!
I strongly suggest to refactor your Perl program collection.
You get something that is easier to maintain and to test. It's a little bit more work in the beginning, though - but if
you have to extend and maintain this collection for a while, it will return your investment soon.
Your modified version of the script would use a module and than invoke the sub or object-method with
parameters taken from the command-line or ENVironment. Your current programs become wrapper, not Modulinos.
Perhaps you should also have a look at App::Cmd for further inspiration?
Update: Perhaps also useful: OT: Rewrite or Refactor?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: I want to run a script from another script, use the same version of perl, and reroute IO to a terminal-like textbox
by ric00015 (Beadle) on Oct 01, 2013 at 17:30 UTC |