http://qs321.pair.com?node_id=700647


in reply to DNScmd in perl script

Technically to only test the status code you should use:
if ($? >> 8) { print "Error " }
The lower eight bits of $? contain the signal that terminated the process.

There's more info in the perldoc POSIX documentation. In particular, see the documentation for the functions WEXITSTATUS and WIFEXITED.

Note that you shouldn't always trust the status code since it is possible for the command to terminate (like via a signal) before it has a chance to set it.