First: you're missing a ';' (in the line where you're printing to the log file)
Secondly: you're comparing $? with 0... now if I'm not mistaken, $? is 0 if everything's ok, right? :-) So you probably want something like: #!/usr/bin/perl -w use strict; # ... open( FILE_LOG, ">log_file" ); print FILE_LOG `perl $PRODUCT_DIR/tests/$MAIN_PRODUCTS_TESTS_STR/run`; if ($?) { print "Error"; exit 0; } :-) On Thu, 2004-04-29 at 11:53, Durai wrote: > Hi, > I have written many test cases using shell script. But now I am > writting in perl. I have done like the following one: > > open(FILE_LOG,">log_file"); > > print FILE_LOG `perl $PRODUCT_DIR/tests/$MAIN_PRODUCTS_TESTS_STR/run` > if( $? == 0) > { > print "Error"; > exit 0; > } > > Is it correct? > > In shell script, I did like the following one: > > . $PRODUCT_DIR/tests/$MAIN_PRODUCTS_TESTS_STR/run 1>file_log 2>file_log > if [ `echo $?` = 0 ] > then > echo "Error"; > exit > fi > > What is the equivalent code in perl for above shell script? > > Thanks, > Durai. > > ----- Original Message ----- > From: "Jose Alves de Castro" <[EMAIL PROTECTED]> > To: "Durai" <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]> > Sent: Thursday, April 29, 2004 3:30 PM > Subject: Re: Running another program in current program > > > > It's the same variable :-) > > > > $? The status returned by the last pipe close, backtick (``) com- > > mand, successful call to wait() or waitpid(), or from the sys- > > tem() operator. > > > > For more info, man perlvar > > > > If you care to give it a test, here it goes: > > > > perl -e '`ls`;print $?' > > # prints "0" (hopefully) > > > > perl -e '`nonexistingcommand`;print $?' > > # prints "1" (unless you have some strange command on your machine...) > > > > HTH, > > > > jac > > > > On Thu, 2004-04-29 at 11:08, Durai wrote: > > > Hello All, > > > > > > In shell script file, I can call another program & checked the exit > status. > > > Like: > > > > > > ./prog2 > > > if [ $? -ne 0 ] > > > then > > > echo "Error" > > > exit > > > fi > > > > > > How to do in perl? > > > > > > ANy help much appreciated. > > > > > > Regs, > > > Durai. > > > > > > > > > --- > > > Outgoing mail is certified Virus Free. > > > Checked by AVG anti-virus system (http://www.grisoft.com). > > > Version: 6.0.665 / Virus Database: 428 - Release Date: 4/21/2004 > > -- > > Josà Alves de Castro <[EMAIL PROTECTED]> > > Telbit - Tecnologias de InformaÃÃo > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > > > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.665 / Virus Database: 428 - Release Date: 4/21/2004 -- Josà Alves de Castro <[EMAIL PROTECTED]> Telbit - Tecnologias de InformaÃÃo -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>