Yes (well, sort of, close enough), thanks for catching that.
I don't use system very often (mostly because I
want my code to run on different platforms without modification)
and had forgotten that its return value is backwards.
(I understand why it's backwards, I'd just forgotten to take
that into account.)
Sanity? Oh, yeah, I've got all kinds of sanity. In fact, I've developed whole new kinds of sanity. You can just call me "Mister Sanity". Why, I've got so much sanity it's driving me crazy.
| [reply] [d/l] |
You mean
system($command, @args) == 0 or die "System call to $command failed: $!"
Well, I agree that $something && die whatever() is not the same thing as $something == 0 or die whatever(), but they're close enough, and after all the former seems well suited for the current situation.
Whatever, it could be interesting, and relevant, to inspect $? and the return value itself as well. Of course, it's all in the docs, which explain the whole lot far better than I ever could.
Update: hadn't noticed jonadab's update. tirwhan, don't worry it's just my fault. The current system is fine enough provided that updates are duly signaled.
| [reply] [d/l] [select] |
You're totally right of course, but jonadab originally wrote "system($command, @args) or die...", and he changed his node after I wrote my post (and says so here). It's times like these I really wish PM had a "view edit history" feature, because I see no way to resolve this situation in such a way that it's totally clear to future readers ;-). But I'll update my node to try.
| [reply] [d/l] [select] |