in reply to trapping return values

use:
$return_value = system("command args ...");
from man perlfunc:
The return value is the exit status of the program as returned by the `wait' call. To get the actual exit value divide by 256. See also the exec entry elsewhere in this document. This is not what you want to use to capture the output from a command, for that you should use merely backticks or `qx//', as described in the section on "`STRING`" in the perlop manpage. Return value of -1 indi­ cates a failure to start the program (inspect $! for the reason).