Business::Hours is a Perl module to calculate business hours in a time period.
my $hours = Business::Hours->new();
# Get a Set::IntSpan of all the business hours in the next week.
# use the default business hours of 9am to 6pm localtime.
$hours->for_timespan( Start => time(), End => time()+(86400*7) );
This module is a simple tool for calculating business hours in a time period. Over time, additional functionality will be added to make it easy to calculate the number of business hours between arbitrary dates.