in reply to Background processes in Win32
for $file (@files){ $string = "open (A$file, \"perl part2.pl $file|\")"; eval $string; # Error checking omitted for simplicity }
No good read to use eval for that.
use Symbol qw( gensym ); for $file (@files){ open( my $fh= gensym(), "perl part2.pl $file |" ); # Error checking omitted for simplicity }
And since you don't seem to be doing anything with the pipe that you open, I'd suggest:
for $file (@files){ system( 1, "perl part2.pl $file" ); # Error checking omitted for simplicity }
But there are quite a few ways to start a process in the background under Win32. I'm not a big fan of Win32::Process which I think was poorly written, is usually overkill, and is very unportable to other operating systems. You can find many of them mentioned in the 3 or 4 other threads on this topic that have shown up in the last few weeks or even in Q&A. But I like the very portable (and probably still not officially documented) system(1,...).
- tye (but my friends call me "Tye")
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: (tye)Re: Background processes in Win32
by c-era (Curate) on Oct 23, 2000 at 19:07 UTC |