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>


Reply via email to