in reply to Re: Can If-then conditions do ($a = $b = $c) type expressions?
in thread Can If-then conditions do ($a = $b = $c) type expressions?

I will certainly agree that this works.

I also say this is not obvious at all, and I defy you to remember 6 months from now what in the world you were trying to do. The code

# Test if $a, $b, and $c are equal # to the same number if ($a == $b && $a == $c) { print "Three agree\n"; } else { print "Three don't agree\n"; }
is clear, easy to read, and understandable to anyone who would be in position to maintain your code.

Cool code is fun, but maintaining cool code is a nightmare.

  • Comment on Re: Re: Can If-then conditions do ($a = $b = $c) type expressions?
  • Download Code

Replies are listed 'Best First'.
Re: Re: Re: Can If-then conditions do ($a = $b = $c) type expressions?
by premchai21 (Curate) on Apr 26, 2002 at 07:10 UTC

    If I'm not mistaken, it was specified in the original node that e was looking for alternatives to the method in your post. Most likely TheDamian's solution is the most readable and concise, but it uses a non-core module, which can be problematic in some situations. What I posted was just another WTDI.

    Yes, I would remember what it meant six months afterward; if there were any chance someone else would have to maintain it, I would most likely abstract it into a subroutine, or at least put a comment there (see below).

    And while in almost all cases the original method (the same as yours) is more readable, at some point the number of equalities being tested becomes unwieldy, and it becomes more efficient readability-and-writability-wise to abstract the test out into a grep.