in reply to MasteringTime

The "easiest" way is to use localtime and/or Time::Local to convert from whatever date/time format you are using into the standard UNIX time_t format. This is a numerical value representing the number of seconds elapsed from January 1, 1970 GMT. Since it is just a number at this point, it is very easy to do math and comparisons on two values, even from different time-zones, or from the same time zone during Daylight Savings and Standard Time.

As such, once you have converted your min and max to simple time_t format, it is a case of comparison like:
if ($the_time >= $min_time && $the_time <= $max_time) { # ... Do stuff? }