Re: ternary operator

2011-03-28 Thread Uri Guttman
> "CS" == Chris Stinemetz writes: CS> I would like to make an adjustment to this ternary operator. CS> Instead of returning 0 if length( $dist ) is not > 1. I would like to CS> return the last $dist value incremented by 0.1 mile so there is no gap CS> of more than 0.1 miles. one poin

Re: ternary operator

2011-03-28 Thread Jim Gibson
On 3/28/11 Mon Mar 28, 2011 12:44 PM, "Chris Stinemetz" scribbled: > I would like to make an adjustment to this ternary operator. > Instead of returning 0 if length( $dist ) is not > 1. I would like to > return the last $dist value incremented by 0.1 mile so there is no gap > of more than 0.1 m

Re: ternary operator

2011-03-28 Thread Chris Stinemetz
I would like to make an adjustment to this ternary operator. Instead of returning 0 if length( $dist ) is not > 1. I would like to return the last $dist value incremented by 0.1 mile so there is no gap of more than 0.1 miles. $dist = sprintf "%.1f", ( length( $dist ) > 1 ) ? $dist/6.6/8/2*10/10 :

RE: ternary operator

2011-03-26 Thread Chris Stinemetz
Jim, Thank you for the clarification and the "perl -c yourprogram.pl" tip. It works the way I want it to now. You have been very helpful. -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/

Re: ternary operator

2011-03-26 Thread Jim Gibson
At 7:01 AM -0500 3/26/11, Chris Stinemetz wrote: > In the statement: if( $cell ) $cell is evaluated for true or false. All scalar values are valid in this evaluation, including numerical, string, and undef, the three types of Perl scalar values. On the other hand, in this statement:

Re: ternary operator

2011-03-26 Thread Chris Stinemetz
> > In the statement: > >    if( $cell ) > > $cell is evaluated for true or false. All scalar values are valid in this > evaluation, including numerical, string, and undef, the three types of Perl > scalar values. > > On the other hand, in this statement: > >    if( $cell >= 1 && $cell <= 900 ) { .

Re: ternary operator

2011-03-25 Thread Jim Gibson
On 3/25/11 Fri Mar 25, 2011 1:19 PM, "Chris Stinemetz" scribbled: > There is no possible value of 0 for what I am trying to do. So I am > trying to do the former example: > >>if( $cell ) { You are leaving out context here, so people not familiar with this thread will be less likely to hel

Re: ternary operator

2011-03-25 Thread Chris Stinemetz
There is no possible value of 0 for what I am trying to do. So I am trying to do the former example: >if( $cell ) { I am trying to code the if statement correctly, but I am getting a syntax error: Below is how I am trying to code the if statement: if ($cell >= 1 && $cell <= 900 ) {

Re: ternary operator

2011-03-25 Thread Jim Gibson
On 3/25/11 Fri Mar 25, 2011 11:15 AM, "Chris Stinemetz" scribbled: > I am getting the warning: > > Argument "" isn't numeric in numeric lt (<) at ./DOband.pl line 22, > <$fh> line 52411. > > It seems to be directed to the below ternary operator: > How can I include in the ternary to ignore al

Re: ternary operator

2011-03-25 Thread Chris Stinemetz
I am getting the warning: Argument "" isn't numeric in numeric lt (<) at ./DOband.pl line 22, <$fh> line 52411. It seems to be directed to the below ternary operator: How can I include in the ternary to ignore all non numeric values in the elements $cell and $chan? my $carr =

Re: ternary operator

2011-03-25 Thread John W. Krahn
Chas. Owens wrote: On Thu, Mar 24, 2011 at 16:53, Chris Stinemetz wrote: I have a ternary operator that I would like to be rounded to the nearest tenth decimal place before the array is pushed. The proper term is conditional operator, even in C. Rounding is a tricky subject (see http://en.

Re: ternary operator

2011-03-25 Thread Chas. Owens
On Thu, Mar 24, 2011 at 16:53, Chris Stinemetz wrote: > I have a ternary operator that I would like to be rounded to the nearest > tenth decimal > place before the array is pushed. The proper term is conditional operator, even in C. Rounding is a tricky subject (see http://en.wikipedia.org/wiki

Re: ternary operator

2011-03-24 Thread Shawn H Corey
On 11-03-24 04:53 PM, Chris Stinemetz wrote: I would like the current output of my ternary operator: 2.44318181818182 to be rounded to 2.4. The easiest way is to use sprintf; perl -e '$var = sprintf "%.1f", 2.44318181818182; print "$var\n";' -- Just my 0.0002 million dollars worth, S

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Uri Guttman
> "r" == rkb writes: r> Lawrence Statton wrote: >> >> On Mar 29, 2010, at 10:54 AM, r...@i.frys.com wrote: >>> >>> I looked through perlop and was unable to find where it >>> stated that the ternary operator should only be used in >>> an >>> assignment such as you've shown.

Re: Ternary operator: Am I missing something?

2010-03-29 Thread rkb
Uri Guttman wrote: >> "r" == rkb writes: [snip] > r> I often use the ternary operator when working with > r> dispatch tables. Based on your comment, I suspect > that > r> you feel that the following example is a poor use of > the > r> ternary operator. Please correct me if I'm wron

Re: Ternary operator: Am I missing something?

2010-03-29 Thread rkb
Lawrence Statton wrote: > > On Mar 29, 2010, at 10:54 AM, r...@i.frys.com wrote: >> >> I looked through perlop and was unable to find where it >> stated that the ternary operator should only be used in >> an >> assignment such as you've shown. Can you point out >> where >> that's located. >> > > I

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Uri Guttman
> "r" == rkb writes: r> Uri Guttman wrote: >> when will people learn?? the ternary operator is for >> CHOOSING A >> VALUE. it is NOT for side effects. its precedence is >> designed to allow >> it to be assigned, NOT to have assignments done inside. >> >> >> NEVER USE ?: f

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Lawrence Statton
On Mar 29, 2010, at 10:54 AM, r...@i.frys.com wrote: I looked through perlop and was unable to find where it stated that the ternary operator should only be used in an assignment such as you've shown. Can you point out where that's located. In my reasonably-arrogant opinion: That's kind of

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Jeff Peng
On Mon, Mar 29, 2010 at 10:27 PM, Shlomi Fish wrote: >> >> No. ($foo == 1) is a list which always has a value of either 1 or 0 so >> it really return a true value in both cases. > > Not true: > > {{{ > shlomi:~$ perl -le '$foo = 0; print +($foo == 1) ? "Foo is 1" : "Foo is not > 1"' > Foo is not

Re: Ternary operator: Am I missing something?

2010-03-29 Thread rkb
Uri Guttman wrote: > when will people learn?? the ternary operator is for > CHOOSING A > VALUE. it is NOT for side effects. its precedence is > designed to allow > it to be assigned, NOT to have assignments done inside. > > > NEVER USE ?: for side effects. ALWAYS use it to return a > value chosen >

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Uri Guttman
> "SHC" == Shawn H Corey writes: SHC> On Mon, 29 Mar 2010 12:25:12 -0400 SHC> "Uri Guttman" wrote: >> when will people learn?? SHC> They can't learn to do it properly because so much Perl documentation SHC> is out of date. and what is out of date regarding the ternary operator?

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Shawn H Corey
On Mon, 29 Mar 2010 12:25:12 -0400 "Uri Guttman" wrote: > when will people learn?? They can't learn to do it properly because so much Perl documentation is out of date. -- Just my 0.0002 million dollars worth, Shawn Programming is as much about organization and communication as it is a

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Uri Guttman
> "SHC" == Shawn H Corey writes: SHC> Assignment has lower precedence than ?: It is done last. What you SHC> wrote above is: SHC> (($foo == 1) ? SHC> $bar = 0 : SHC> $bar ) = 1; SHC> Which assigns 1 to $bar regardless of what $foo is. when will people learn?? the ternar

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Uri Guttman
> "JP" == Jeff Peng writes: JP> On Mon, Mar 29, 2010 at 10:02 PM, Jeff Soules wrote: >> Hi all, >> EX 2: >>    ($foo == 1) ? >>        $bar = 0 : >>        $bar = 1; >> >> These are logically equivalent, right? JP> No. ($foo == 1) is a list which always has a value of eit

Re: Ternary operator: Am I missing something?

2010-03-29 Thread John W. Krahn
Jeff Peng wrote: On Mon, Mar 29, 2010 at 10:02 PM, Jeff Soules wrote: Am I missing something? I have the following chunks of code: EX 1: if ($foo == 1){ $bar = 0; }else{ $bar = 1; } EX 2: ($foo == 1) ? $bar = 0 : $bar = 1; Th

Re: Ternary operator: Am I missing something?

2010-03-29 Thread John W. Krahn
Jeff Soules wrote: Hi all, Hello, Am I missing something? Precedence. perldoc perlop I have the following chunks of code: EX 1: if ($foo == 1){ $bar = 0; }else{ $bar = 1; } EX 2: ($foo == 1) ? $bar = 0 : $bar = 1; These are logically eq

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Shawn H Corey
On Mon, 29 Mar 2010 17:27:44 +0300 Shlomi Fish wrote: > Of course in this particular case, this is equivalent to: > > $bar = ($foo != 1); > > Unless you care about $bar specifically being 0 instead of the also > false values of the empty-string or undef(). In that case, do this: $bar = ( $f

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Jeff Soules
>> Assignment has lower precedence than ?: It is done last. Aha -- I was afraid of something like that. > (I.e: put parentheses around the clauses of if statements, even though they > are not needed or I could use the ultra-low-precedence "and"/"or"/etc.) Good idea. I almost always do in if-st

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Shlomi Fish
Hi Shawn! On Monday 29 Mar 2010 17:19:36 Shawn H Corey wrote: > On Mon, 29 Mar 2010 10:02:15 -0400 > > Jeff Soules wrote: > > ($foo == 1) ? > > > > $bar = 0 : > > $bar = 1; > > > > Am I doing something stupid or missing something obvious? > > ($foo == 1) ? > ( $bar =

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Shlomi Fish
On Monday 29 Mar 2010 17:10:27 Jeff Peng wrote: > On Mon, Mar 29, 2010 at 10:02 PM, Jeff Soules wrote: > > Hi all, > > > > Am I missing something? I have the following chunks of code: > > > > EX 1: > >if ($foo == 1){ > >$bar = 0; > >}else{ > >$bar = 1; > >} > > > >

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Shawn H Corey
On Mon, 29 Mar 2010 10:02:15 -0400 Jeff Soules wrote: > ($foo == 1) ? > $bar = 0 : > $bar = 1; > Am I doing something stupid or missing something obvious? ($foo == 1) ? ( $bar = 0 ) : ( $bar = 1 ); Assignment has lower precedence than ?: It is done last. Wh

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Dermot
On 29 March 2010 14:02, Jeff Soules wrote: > Hi all, Hiya, > Am I missing something?  I have the following chunks of code: > > EX 1: >    if ($foo == 1){ >        $bar = 0; >    }else{ >        $bar = 1; >    } > > EX 2: >    ($foo == 1) ? >        $bar = 0 : >        $bar = 1; > > These are lo

Re: Ternary operator: Am I missing something?

2010-03-29 Thread Jeff Peng
On Mon, Mar 29, 2010 at 10:02 PM, Jeff Soules wrote: > Hi all, > > Am I missing something?  I have the following chunks of code: > > EX 1: >    if ($foo == 1){ >        $bar = 0; >    }else{ >        $bar = 1; >    } > > EX 2: >    ($foo == 1) ? >        $bar = 0 : >        $bar = 1; > > These are

Re: Ternary operator

2009-10-01 Thread Robert H
On 9/11/09 12:37 AM, Uri Guttman wrote: whenever you see an if/else where the code just assigns one or another value to the same variable that should be coded as a ternary op as this is what is it designed to do: Awesome. That is a clear and concise reasoning that even my brain can handle.

Re: Ternary operator

2009-09-15 Thread Randal L. Schwartz
> "Tim" == Tim Bowden writes: Tim> Oh good, O'Reilly hasn't given up. Is there some uncertainty as to the Tim> success a future version might have? Or is it a question of the right Tim> resources being available and willing to undertake the task? Or has it Tim> been put on the backburner f

Re: Ternary operator

2009-09-14 Thread Tim Bowden
On Mon, 2009-09-14 at 09:32 -0700, Randal L. Schwartz wrote: > > "Telemachus" == Telemachus writes: > > Telemachus> Unfortunately, it seems like O'Reilly has given up on Perl... > > Absolutely not. Just that the costs of *updating* a book often approach the > costs of initial development f

Re: Ternary operator

2009-09-14 Thread Randal L. Schwartz
> "Telemachus" == Telemachus writes: Telemachus> Unfortunately, it seems like O'Reilly has given up on Perl... Absolutely not. Just that the costs of *updating* a book often approach the costs of initial development for many of the "overhead" activities. You lept to a conclusion that was

Re: Ternary operator

2009-09-11 Thread Robert H
On 9/11/09 5:49 PM, Chas. Owens wrote: On Fri, Sep 11, 2009 at 17:28, Telemachus wrote: Yep, 3rd edition (which to my knowledge was the last version) was published in 2000 and therefore can only cover up to Perl 5.6. Luckily 5.8 didn't change much and 5.10 has very explicit documentation abo

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 17:28, Telemachus wrote: > On Fri Sep 11 2009 @  4:16, Chas. Owens wrote: >> I love perldoc, but it does not document the language nearly as well >> as Programming Perl.  Of course, that might be why perldoc is free and >> Programming Perl costs roughly $50 USD (and weighs

Re: Ternary operator

2009-09-11 Thread Telemachus
On Fri Sep 11 2009 @ 4:16, Chas. Owens wrote: > I love perldoc, but it does not document the language nearly as well > as Programming Perl. Of course, that might be why perldoc is free and > Programming Perl costs roughly $50 USD (and weighs a ton). There's also the problem that Programming Perl

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 15:43, John W. Krahn wrote: > Chas. Owens wrote: >> >> On Fri, Sep 11, 2009 at 09:56, John W. Krahn wrote: >> snip You can't tell everything about the language from the docs. >>> >>> Give me an example, I'll point you to the docs.  (Have you read them >>> all?) >

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Chas. Owens wrote: On Fri, Sep 11, 2009 at 09:56, John W. Krahn wrote: snip You can't tell everything about the language from the docs. Give me an example, I'll point you to the docs. (Have you read them all?) snip Okay, I will bite, where is it documented that (@a) x= 3; is an error? Mo

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 14:54, Chas. Owens wrote: snip >> In case it isn't clear enough, my question (not directly to you, but >> to the perl maintainers) is "Where does perl document the ternary >> operator's behaviour of only evaluating either the second or the third >> argument, never both?" I

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 10:36, John W. Krahn wrote: snip >> If C can document ?: properly, why can't perl? The size of each >> language has nothing to do with this. > > perldoc perlop > [ SNIP ] >       Conditional Operator > >       Ternary "?:" is the conditional operator, just as in C. > > > Yo

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 10:19, Philip Potter wrote: snip >>> Perl's is not. >> >> Define "complete". > > If Perl doesn't document ?: properly, its document is not complete. snip It defines it well enough that I have never had it produce unexpected behavior. If you are unhappy with the documentat

Re: Ternary operator

2009-09-11 Thread Chas. Owens
On Fri, Sep 11, 2009 at 09:56, John W. Krahn wrote: snip >> You can't tell everything about the language from the docs. > > Give me an example, I'll point you to the docs.  (Have you read them all?) snip Okay, I will bite, where is it documented that (@a) x= 3; is an error? More generally, whe

Re: Ternary operator

2009-09-11 Thread Paul Johnson
On Fri, Sep 11, 2009 at 03:19:53PM +0100, Philip Potter wrote: > If C can document ?: properly, why can't perl? The size of each > language has nothing to do with this. > If Perl doesn't document ?: properly, its document is not complete. > In case it isn't clear enough, my question (not directl

Re: Ternary operator

2009-09-11 Thread Uri Guttman
> "SB" == Steve Bertrand writes: SB> my $ret = ( $foo == 1 ) ? ( $num + $add_to ) : 2; those aren't side effects. there is no change to data in the ?: parts. SB> ...SHOULD _always_ ( where possible ) be written as: SB> my $expr_result = ( $num + $add_to ); SB> my $ret = ( $foo ==

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Philip Potter wrote: 2009/9/11 John W. Krahn : Philip Potter wrote: My point is that C documents its behaviour. It seems that Perl doesn't. man perl perldoc perl http://oreilly.com/catalog/9780596000271/ http://perldoc.perl.org/ perldoc -q "Is there an ISO or ANSI certified version of Perl"

Re: Ternary operator

2009-09-11 Thread Philip Potter
2009/9/11 John W. Krahn : > Philip Potter wrote: >> >> My point is that C documents its behaviour. It seems that Perl >> doesn't. > > man perl > perldoc perl > http://oreilly.com/catalog/9780596000271/ > http://perldoc.perl.org/ > perldoc -q "Is there an ISO or ANSI certified version of Perl" Do a

Re: Ternary operator

2009-09-11 Thread John W. Krahn
John W. Krahn wrote: Philip Potter wrote: 2009/9/11 Steve Bertrand : Uri Guttman wrote: it is actually very simple to understand. the key point to knowing it and how to use it is that the 2 value expressions SHOULD NOT have side effects. that means changing something by assignment or other mod

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Philip Potter wrote: My point is that C documents its behaviour. It seems that Perl doesn't. man perl perldoc perl http://oreilly.com/catalog/9780596000271/ http://perldoc.perl.org/ perldoc -q "Is there an ISO or ANSI certified version of Perl" C's documentation is complete, C is a very sm

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Philip Potter wrote: 2009/9/11 Steve Bertrand : Uri Guttman wrote: it is actually very simple to understand. the key point to knowing it and how to use it is that the 2 value expressions SHOULD NOT have side effects. that means changing something by assignment or other modification. your exampl

Re: Ternary operator

2009-09-11 Thread Philip Potter
2009/9/11 Steve Bertrand : > Uri Guttman wrote: >> it is actually very simple to understand. the key point to knowing it >> and how to use it is that the 2 value expressions SHOULD NOT have side >> effects. that means changing something by assignment or other >> modification. your example below is

Re: Ternary operator

2009-09-11 Thread John W. Krahn
John W. Krahn wrote: $ cat ternary-test.c #include #include char *shift ( int *argc, char **argv ) { int i; char *temp = argv[ 0 ]; for ( i = 1; i < *argc; ++i ) { argv[ i - 1 ] = argv[ i ]; } Opps, also need to adjust argc here: --*argc; return temp

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Philip Potter wrote: 2009/9/11 John W. Krahn : Philip Potter wrote: Does ?: guarantee that only one arm of its conditions will be executed? eg: # @_ has 3 elements $x = $flag ? shift : push; $ perl -e'$x = $flag ? shift : push;' Not enough arguments for push at -e line 1, near "push;" Execut

Re: Ternary operator

2009-09-11 Thread Steve Bertrand
Uri Guttman wrote: Thanks to all for the fantastic feedback, and for the very detailed examples. After reading and practising them a few times, I don't think I'll ever be able to forget how to use this op anymore :) > it is actually very simple to understand. the key point to knowing it > and how

Re: Ternary operator

2009-09-11 Thread Philip Potter
2009/9/11 John W. Krahn : > Philip Potter wrote: >> Does ?: guarantee that only one arm of its conditions will be executed? >> eg: >> >> # @_ has 3 elements >> >> $x = $flag ? shift : push; > > $ perl -e'$x = $flag ? shift : push;' > Not enough arguments for push at -e line 1, near "push;" > Execut

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Philip Potter wrote: 2009/9/11 Uri Guttman : "SB" == Steve Bertrand writes: SB> Besides consistently forgetting how to properly spell "ternary", I SB> can't, for some reason, embed it's use into my brain no matter how SB> much I read. ternary op is an official name but it has many nickname

Re: Ternary operator

2009-09-11 Thread John W. Krahn
Steve Bertrand wrote: [ forgive me if it was sent twice. My first should be bounced as bad sender addr ]. Besides consistently forgetting how to properly spell "ternary", I can't, for some reason, embed it's use into my brain no matter how much I read. It is "borrowed" from the C programming l

Re: Ternary operator

2009-09-11 Thread Philip Potter
2009/9/11 Uri Guttman : >> "SB" == Steve Bertrand writes: > >  SB> Besides consistently forgetting how to properly spell "ternary", I >  SB> can't, for some reason, embed it's use into my brain no matter how >  SB> much I read. > > ternary op is an official name but it has many nicknames so th

Re: Ternary operator

2009-09-10 Thread Uri Guttman
> "SB" == Steve Bertrand writes: SB> Besides consistently forgetting how to properly spell "ternary", I SB> can't, for some reason, embed it's use into my brain no matter how SB> much I read. ternary op is an official name but it has many nicknames so they are worth knowing too. condit

Re: Ternary operator question

2004-03-02 Thread WilliamGunther
In a message dated 3/2/2004 9:21:57 AM Eastern Standard Time, [EMAIL PROTECTED] writes: >$#array + 1 still is the size of the array and it won't modify the >array. That's not what we were talking about. We were talking about >++$#array, which expands to $#array = $#array + 1. Note the equal s

Re: Ternary operator question

2004-03-02 Thread James Edward Gray II
On Mar 2, 2004, at 12:41 AM, WC -Sx- Jones wrote: Once upon a time $#array + 1 was the size of the array; obviously (scalar @array) now has the right size. $#array + 1 still is the size of the array and it won't modify the array. That's not what we were talking about. We were talking about ++

Re: Ternary operator question

2004-03-01 Thread WC -Sx- Jones
John W. Krahn wrote: You do realise that ++$#array modifies @array? $ perl -le' @array = 90 .. 99; print scalar @array; ++$#array; print scalar @array; ++$#array; print scalar @array; ' 10 11 12 D'Oh! Yep, it does... Once upon a time $#array + 1 was the size of the array; obviously (scalar @ar

Re: Ternary operator question

2004-03-01 Thread John W. Krahn
Wc -Sx- Jones wrote: > > R. Joseph Newton wrote: > > > print "Greater count was $greater_count\n"; > > print "Lesser count was $lesser_count\n"; > > But that was my point - you could just use ++$#array; because you are > only testing sizeOf array - a true test would be to see if they are > ident

Re: Ternary operator question

2004-03-01 Thread Daniel T. Staal
--As of Monday, March 1, 2004 8:54 PM -0500, WC -Sx- Jones is alleged to have said: But that was my point - you could just use ++$#array; because you are only testing sizeOf array - a true test would be to see if they are identical in what each array holds. --As for the rest, it is mine. Only if

Re: Ternary operator question

2004-03-01 Thread WC -Sx- Jones
R. Joseph Newton wrote: print "Greater count was $greater_count\n"; print "Lesser count was $lesser_count\n"; But that was my point - you could just use ++$#array; because you are only testing sizeOf array - a true test would be to see if they are identical in what each array holds. -Bill- __

Re: Ternary operator question

2004-03-01 Thread R. Joseph Newton
WC -Sx- Jones wrote: > R. Joseph Newton wrote: > > > Although it is not necessary the meaning might be better expressed: > > my $n = (@$a > @$b ? @$a : @$b) > > Sorry for jumping in - No problem. That's why this is a group. > You cannot compare two arrays that way and expect them to be numerica

Re: Ternary operator question

2004-03-01 Thread WC -Sx- Jones
R. Joseph Newton wrote: Although it is not necessary the meaning might be better expressed: my $n = (@$a > @$b ? @$a : @$b) Sorry for jumping in - You cannot compare two arrays that way and expect them to be numerically different - if they are it may be a coincidence; consider for discussion:

Re: Ternary operator question

2004-03-01 Thread R. Joseph Newton
Andrew Gaffney wrote: > Perl wrote: > > I am trying to understand how this works. For example: > > > > my $n = @$a > @$b ? @$a : @$b; > > > > > > I understand this is a conditional statement I am just not sure what is > > being compared with ? and :. > > I believe that the above just assigns a tru

Re: Ternary operator question

2004-02-29 Thread John W. Krahn
Andrew Gaffney wrote: > > Perl wrote: > > I am trying to understand how this works. For example: > > > > my $n = @$a > @$b ? @$a : @$b; > > > > I understand this is a conditional statement I am just not sure what is > > being compared with ? and :. > > I believe that the above just assigns a true

Re: Ternary operator question

2004-02-29 Thread John W. Krahn
Perl wrote: > > I am trying to understand how this works. For example: > > my $n = @$a > @$b ? @$a : @$b; > > I understand this is a conditional statement I am just not sure what is > being compared with ? and :. That is same as: my $n; if ( @$a > @$b ) { $n = @$a; } else { $n = @$

Re: Ternary operator question

2004-02-29 Thread Andrew Gaffney
Perl wrote: I am trying to understand how this works. For example: my $n = @$a > @$b ? @$a : @$b; I understand this is a conditional statement I am just not sure what is being compared with ? and :. I believe that the above just assigns a true or false (1 or 0) to $n. The statement is the same

Re: ternary operator stability(e.g., in "case" statements)

2001-05-22 Thread Paul
--- Adam Turoff <[EMAIL PROTECTED]> wrote: > On Tue, May 22, 2001 at 09:37:13AM -0700, Paul wrote: > > Anybody know if there would likely be any problem with building a > > "case" statement like the folowing (without installing Switch.pm)? > > > > sub rate ($) { > > $_[0] eq 'A' ? .03 : > >

Re: ternary operator stability(e.g., in "case" statements)

2001-05-22 Thread Paul
--- Jeff Pinyan <[EMAIL PROTECTED]> wrote: > On May 22, Paul said: > > >I know that in many C compilers, the a ? b : c construct with the > >ternary ?: operator si not stable after the second or third nesting, > >but I've never seen that sort of problem in tests I've run in Perl. > > The only t

Re: ternary operator stability(e.g., in "case" statements)

2001-05-22 Thread Adam Turoff
On Tue, May 22, 2001 at 09:37:13AM -0700, Paul wrote: > Anybody know if there would likely be any problem with building a > "case" statement like the folowing (without installing Switch.pm)? > > sub rate ($) { > $_[0] eq 'A' ? .03 : > $_[0] eq 'B' ? .05 : > $_[0] eq 'C' ? .06 : >

Re: ternary operator stability(e.g., in "case" statements)

2001-05-22 Thread Jeff Pinyan
On May 22, Paul said: >I know that in many C compilers, the a ? b : c construct with the >ternary ?: operator si not stable after the second or third nesting, >but I've never seen that sort of problem in tests I've run in Perl. The only to watch out for is precendence: $a ? $b = $c : $b = $d;