system () вернет код, указывающий, что возвратила ваша C-программа или была ли она прервана сигналом; предполагая, что позже это не так, вы можете сделать
$exitcode = system('a.out');
print "return code was ", $exitcode >> 8, "\n";
Если вы также хотите захватить вывод, вы можете использовать обратные пометки, и код будет в $? переменная.
$output = `a.out`;
$exitcode = $?;
print "return code was ", $exitcode >> 8, "\n";
print "output was:\n", $output;
Возможно, вы захотите использовать такой модуль, как IPC :: Cmd, который имеет несколько других функций, которые вам могут понадобиться.