Re: chaining defines

[email protected] (Robert Hicks)
Newsgroups perl.beginners
Message-ID <[email protected]>
Jenda Krynicky wrote:
> From: Robert Hicks <[email protected]>
>> Is there anything wrong with:
>>
>> if ( defined $one && defined $two && $one eq $two ) {
>>     #### do something
>> }
> 
> As far as I can tell not. I was afraid the operator precedence might 
> play tricks with it, but looks like it doesn't:
> 
> V:\>perl -MO=Deparse -e "defined $one && defined $two && $one eq 
> $two"
> $one eq $two if defined $one and defined $two;
> -e syntax OK
> 
> V:\>perl -MO=Deparse -e "if(defined $one && defined $two && $one eq 
> $two) {print 'aha'}"
> if (defined $one and defined $two and $one eq $two) {
>     print 'aha';
> }
> -e syntax OK
> 
> I would write it as 
> 
>   if ( defined($one) && defined($two) && $one eq $two ) {
> 
> or even more likely as 
> 
>   if ( defined($one) and defined($two) and $one eq $two ) {
> 
> but it seems your version is just fine.
> 
> Jenda
> 

Thanks very much for the corroboration.

Robert
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.