in reply to Perl software on multiple files
Question A:
I guess, you want to call external X.pl scripts from your main.pl script? That can be done using system (without capturing output) or using backticks (with capturing output). For more control about streams, see IPC::Open3 or IPC::Run (there are much more related modules on CPAN - just find one that suits you). This approach becomes awkward if you need to exchange much information (input/output).
If you wand to #include Perl code have a look at do or maybe eval (I think there was a similar question some days ago...).
If you strive for re-use of software components (usually recommended), have a look at perlmodlib and perlmod. Update: This is the way to go for big projects (plus version control, plus coding standards, plus testing, plus documentation, etc.).
Question B:
Ctrl-C can be catched using signal-handlers (e.g $SIG{INT} = sub { print "Ctrl-C pressed!\n"; ...}, see: perlipc).
There is also Term::Readkey to handle single key events.
It appears to me, that you want to write a shell-like environment?
I've done something similar using Term::ReadLine::Gnu (there are others) which was very easy. It even gives you word-completion and a command history.
Works nice if your tasks complete within acceptable time
- you can still press/catch Ctrl-C or use sub-processes or threads, though.
But maybe the REPL (Read-Eval-Print-Loop) modules are something for you?
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Perl software on multiple files
by testerG (Initiate) on Sep 25, 2011 at 11:02 UTC | |
by Perlbotics (Archbishop) on Sep 25, 2011 at 13:02 UTC | |
by Anonymous Monk on Sep 25, 2011 at 11:24 UTC |