in reply to getting output from backticks

Well, the things already put forward are more that adequate for fixing this one problem, simply by using system() and checking the return code. But, in the interest of edjucating everyone, including myself, i will cover how to read the output of the command (which was the question, although the reason was a bit flawed):

Reading Command Outout: To execute a command and read the output from it, a simple way is to use the open() command. This is usually needed when you want to run an external program and parse it's output (stdout to the program). This is commonly used as :
open(MNT,"mount $device $dir |") || die "Could not run mount : $!\ +n";
but, sometimes you need both the STDOUT and STDERR from a program. While not the most portable way, the following works on Unix systems :
open(MNT,"mount $device $dir 2>&1 |") || die "Could not run mount +: $!\n";
Once again, the return code from mount will cover what you need, but if you were running, say, ps, you may need to parse it. See also open.
OH, a sarcasm detector, that’s really useful