in reply to Interpret $? variable

Yes, that's the convention. I recommend IPC::System::Simple which has a very convenient API for this use-case.

use IPC::System::Simple qw(runx); runx [0], 'some_command', @more_arguments;