in reply to Am I missing something major here (system/exec)?

What izut said, except that system() returns 0 on success, not failure.
system(...) == 0 or die "..."; # or system(...) and die "...";

Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart