Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Fastest way to compare multiple variables?

by runrig (Abbot)
on May 16, 2001 at 04:50 UTC ( #80763=note: print w/ replies, xml ) Need Help??


in reply to Fastest way to compare multiple variables?

'Fastest' depends on whether or not they ARE 'all equal' :)

#!/usr/bin/perl my $a = 2; my $b = 2; my @arr = qw( 2 2 2 ); if (all_equal_ints($a, $b, @arr)) { print "They're all equal!\n" } else { print "They're not all equal!\n"; } sub all_equal_ints { my $first = shift; for (@_) { return 0 unless $first == $_; } return 1; }


Comment on Re: Fastest way to compare multiple variables?
Download Code
Re: Re: Fastest way to compare multiple variables?
by zeidrik (Scribe) on May 16, 2001 at 11:58 UTC
    Try this:
    #!/usr/local/bin/perl -w use strict; my @list=("abcd123","abcd143","abcd123","abcd123"); $_=join("",@list); s/$list[0]//g; print "not equal\n" if ($_);
      The problem with that is that the code will produce an incorrect result in the case:

      my @list={"a","aaaa","aa","aaaaaaaa","a"};

      In the above (admittedly pathological) case, it would report all equal when this is not true.

        A comment correcting a code snippet that was posted 12 years ago.

        I love Perlmonks. ;-)

        Christopher Cashell

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (10)
As of 2015-07-07 08:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (87 votes), past polls