$ cd /tmp $ cat > ret5.c int main(int argc, char **argv) { return 5; } ^D $ gcc ret5.c -o ret5 $ perl system './ret5'; printf "child return code is: %d\n", $? >> 8; ^D child return code is: 5 $