<div dir="ltr"><div class="gmail_extra">You&#39;re being bitten by something else: precedence (in ? :).</div><div class="gmail_extra"><br></div><div class="gmail_extra">This works:</div><div class="gmail_extra"><br></div><div class="gmail_extra">
<div class="gmail_extra">my $has_red_2 = (grep /red/, @l) ? 1 : 0; </div><div class="gmail_extra"><br></div><br><div class="gmail_quote">On Tue, Apr 24, 2012 at 2:54 PM, ynon perek <span dir="ltr">&lt;<a href="mailto:ynonperek@gmail.com" target="_blank">ynonperek@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Everyone,<div>I was bitten today by this snippet that I still can&#39;t understand (second test fails):</div>
<div><br></div><div><div>use v5.14;</div><div>use Test::More;</div><div><br></div><div>my @l = qw/red blue green/;</div>
<div><br></div><div>my $has_red_1 =   grep /red/, @l;</div><div>my $has_red_2 = ( grep /red/, @l ? 1 : 0 ); </div><div><br></div><div>is ( $has_red_1, 1, &quot;Expected&quot; ); </div><div>is ( $has_red_2, 1, &quot;This one fails - Why ?&quot; ); </div>

<div><br></div><div>done_testing;</div></div><div><br></div><div>I know that grep does nothing in void context, but here I have a valid boolean context - what&#39;s going on ?</div><div><br></div></div>
<br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Gaal Yahas &lt;<a href="mailto:gaal@forum2.org">gaal@forum2.org</a>&gt;<br>
<a href="http://gaal.livejournal.com/">http://gaal.livejournal.com/</a><br>
</div></div>