Calling Perl's in-built system() function is easy, determining if it was successful is hard.
Let's face it, $? isn't the nicest variable in the world to play with, and even if you do
check it, producing a well-formatted error string takes a lot of work.