Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Multiple Conditional Statements

by BrowserUk (Pope)
on Sep 11, 2013 at 11:10 UTC ( #1053462=note: print w/ replies, xml ) Need Help??


in reply to Multiple Conditional Statements

You could use an anonymous hash:

( $RB1, $RB2, $WR1, $WR2, $TE1 ) = map int( rand 10 ), 1 .. 5;; print $RB1, $RB2, $WR1, $WR2, $TE1;; 3 5 5 8 7 if( keys %{ { map{ $_,$_ } $RB1, $RB2, $WR1, $WR2, $TE1 } } == 5 ) { say 'all different' } else { say 'some same' };; some same ( $RB1, $RB2, $WR1, $WR2, $TE1 ) = map int( rand 10 ), 1 .. 5;; print $RB1, $RB2, $WR1, $WR2, $TE1;; 1 8 6 7 5 if( keys %{ { map{ $_,$_ } $RB1, $RB2, $WR1, $WR2, $TE1 } } == 5 ) { say 'all different' } else { say 'some same' };; all different

But be wary of what you mean by "different" if these can be floating point values.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re: Multiple Conditional Statements
Download Code
Re^2: Multiple Conditional Statements
by vsespb (Hermit) on Sep 11, 2013 at 11:14 UTC
    There can be problem with string vs numeric comparison:
    use v5.10; ( $RB1, $RB2, $WR1, $WR2, $TE1 ) = (1,2, 3, "05", 5); if( keys %{ { map{ $_,$_ } $RB1, $RB2, $WR1, $WR2, $TE1 } } == 5 ) { say 'all different'; } else { say 'some same' };; prints "all different"

      Indeed.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      For strictly numeric comparison add 0+:

      if( keys %{ { map{ 0+$_,$_ } $RB1, $RB2, $WR1, $WR2, $TE1 } } == 5 ) { + say 'all different' } else { say 'some same' };;

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Yes, that would work.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1053462]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (13)
As of 2014-07-31 20:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (253 votes), past polls