in reply to determining work hours between 2 dates

Try using Date::Range. You could loop thru the range, where each date is represented by a Time::Piece object, and discard the holidays, while retaining only working days.
  • Comment on Re: determining work hours between 2 dates