The if statement already works in the manner that you have asked for. A cut down version of your code below shows how this works:

if(HOLIDAY){ $check = TRUE; } elsif ( $time <= 1800){ $check = TRUE; }
This does what you asked for and as you can see you don't need the exit statements. Perl evaluates the "if/else if" statements in turn until one of the conditions is true. It then executes the block immediately following that statement and then jumps to the end of the entire conditional. Thus it only does the "first" conditional block that it can. Several other languages don't work that way (c's switch statement for instance needs breaks) and that may have confused you, but Perl already does what you want by default.

You realise of course that you example you gave can be written more succintly as:

$check = TRUE if ((HOLIDAY) or ($time <= 1800))
If this hasn't covered the whole subject to your satisfaction, if you post more of what you're trying to do then we can elaborate.

update As le and flyfishing have pointed out I got the else if thing wrong. I've changed the node so that it reads properly.

Nuance

Baldrick, you wouldn't see a subtle plan if it painted itself purple and danced naked on top of a harpsichord, singing "Subtle plans are here again!"


In reply to Re: exiting a if loop by nuance
in thread exiting a if loop by toadi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.