There's also another way...if you want to watch/parse the output of the executed command as it's happening and not just wait for it to end to get all the output (like backticks) you can use open...you can get the exit status, the output, and even a sub-process pid...it's the only way to go for things that may wedge or you want to see it as it happens...:
$pid_of_sub_process = open(CMD,"SomeCommandName |");
while(<CMD>) {
print "--> $_";
if (/Some Thing Which Means Its Messed Up/) {close CMD}
}
close(CMD);
$stat = $? >> 8; # did it exit with status?
if ($stat) {die "exited with status $stat"}