in reply to Testing for 16 possible combinations with 4 pull-down menus

You probably want to look at one of the DateTime modules on CPAN for this. I would recommend DateTime. It's a bit hefty to read, but it has everything you need, plus the documentation is really good.

As for testing the menus ... You have 5 valid states. Either you're in a valid state or you're not. Test for the five valid states using if-elsif, and else for your invalid states. Something like:

if ( --VALID STATE 1, 0000--) { # Do something here } elsif ( --VALID STATE 2, 1000--) { # Do something here } elsif ( -- And so on for your 5 valid states) { } else { # This is where your 11 INVALID states drop down. # Does it really matter *which* invalid state it is? }

If you need more help, please don't hesitate to ask for clarification.

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.