in reply to
calling perl script from shell script
apart from forgetting a fi, your using the wrong braces:
(something) calls "something" in a subshell, which always returns true. The syntax you're looking for is:
if test $? -eq 0
then
else
fi
or alternatively
if [ $? -eq 0 ]
then
else
fi
Use square braces in stead of round ones.
finally, it might be easier to use:
cd go_to_dir_where_perl_program_exists &&
if /usr/bin/perl perlscript.pl
then echo "success"
# do some more stuff
else
echo "failure"
# do some more stuff
fi