|laziness, impatience, and hubris|
Re^4: Modules which improve system() ?by pjf (Curate)
|on Jun 28, 2006 at 03:01 UTC||Need Help??|
For some functions, that seems reasonable, but the return value of external processes doesn't seem like something that can be decided without knowing what the program is and why you're calling it.
Absolutely correct! However, I think there are some cases we can consider as always being exceptional. Dumping core, being killed by a signal, or failing to execute at all are almost never part of "normal" operation. A program that considers those "normal" is in itself exceptional.
If system() were to take an additional array ref argument at the beginning, what should it mean?
You raise a good point here. I've got a strong motivation to have the easy action be the right action. Adding a set of return values at the start (especially after one has written the code) is easy, but as you've noted it's not particularly obvious. I'd like it to be easy and obvious, if I can. Feedback and thoughts on this in particular would certainly be appreciated.
Once again, if you're in the mindset of "a safe system() replacement that prevents common mistakes", then I think your API is exactly right.
That's very reassuring. Thank-you. ;)
So I guess you can either (1) convince me of the error of my ways; (2) come up with another function name that implies what it's doing better (eg safe_system, but preferably shorter!), in which case I'll happily add it to IPC::Run::Simple; or (3) release your own module with a different name.
We may actually be heading down route #3 here, simply because it gets closer to the "simple-as-can-be" goal for the end-user, and I'm very hesitant to make any "simple" module more complex than it needs to be.
Perl Training Australia