Hello Monks of Perl,

I'm a web designer and I have to write some CGI for an online calendar/schedule.

Part of the form contains 4 pull-down menus which specify the start and end time of an event ( the pull-downs are "start-hour", "start-minute", "end-hour" and "end-minute").

I have to write a sub-routine that tests for the 16 variations of the pull-down menus and only return 1 for the valid states (I've decided to use binary to describe the states):

(0=off 1=on)
Invalid states:
0001
0010
0011
0100
0101
0110
0111
1001
1011
1101
1110

Valid states:
0000
1000
1010
1100
1111

In addition, I also have to verify that the start time and end time are chronologically correct (ie. the start time must be "lesser" than the end time).

I've tried to nest many "if" and "elsif" statements but I'm not able to test all 16 conditions AND verify the start and end times; plus it's very ugly and inefficient code.

I've to complete this code by Monday and I urgently need some help and guidance!!

Any help would be much appreciated, thank you very much.

- softcotton


In reply to Testing for 16 possible combinations with 4 pull-down menus by softcotton

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.