|
|
| XP is just a number | |
| PerlMonks |
Re^2: Modules which improve system() ?by pjf (Curate) |
| on Jun 23, 2006 at 08:34 UTC ( #557119=note: print w/ replies, xml ) | Need Help?? |
|
I'm specifically after a module that makes it dead simple to call system() for the most simple cases, and still get proper error-handling. What I essentially want is Fatal for system(). That means we're not capturing output, and we're not doing complicated pipelines. If you want a module that handles all that and more, then there's IPC::Run. It's complete, but it's not simple. What's proper-error handling for the most simple cases? Well, if your program never started, that's an error. If it got killed by a signal or dumped core, then you probably didn't expact that, so that's an error too. If it returns a non-zero exit status, then that's also an error unless you pass an argument to say otherwise. As for efficiency, this is a clear case where correctness should easily trump speed. system() is slow to begin with, since there's all that fork-and-exec'ing going on under the hood. Having error-checking that's hard to get wrong (ie, exceptions), and having meaningful error messages (instead of die "Ooops! $! - $?") is going to be much better for correctness and programmer productivity in the long run. This is very much a case of wanting something that makes simple things easy. We've already got many ways of making the hard things possible. Cheerio,
Paul Fenwick Perl Training Australia
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||