Hola.
Puedes usar el módulo Date::Manip como te dice explorer, y el módulo lo puedes configurar para agregar los días festivos que quieres.
Lo podrías hacer de la siguiente manera:
Paso 1Vamos a crear un nuevo archivo al cual vamos a nombrar
misDiasFestivos.cfg el cual lo vamos a poner en el mismo directorio donde se encuentra el archivo Manip.pm de nuestro módulo, es decir en el directorio Date.
Paso 2Dentro de este archivo vamos a configurar nuestros días festivos, por ejemplo, yo que vivo en México podría poner lo siguiente:
Using text Syntax Highlighting
*Holidays
9/16 = Día de la Independencia
11/20 = Día de la Revolución Mexicana
third Sunday in Jun = Día del Padre
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Paso 3Ya que guardamos el archivo entonces podemos hacer:
Using perl Syntax Highlighting
use Date::Manip;
Date_Init( "Language=Spanish", "DateFormat=non-US",
"EraseHolidays=1","PersonalCnf=misDiasFestivos.cfg");
$fecha = DateCalc("19/11/2005", "+ 3 dias laborales");
print UnixDate($fecha,"%d/%m/%Y");
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Y listo, ya va a tomar en cuenta los días festivos que pongas en tu archivo de configuración.
Recuerda que solamente se van a tomar en cuenta aquellos días festivos que hayas puesto en tu archivo de configuración, así que deberás de poner todos los que quieras y necesites, por ejemplo, Navidad, Pascua, etc.
Para mayores detalles acerca de cómo configurar el Date::Manip puedes checar su manual:
http://search.cpan.org/~sbeck/DateManip-5.44/Manip.podSALUDOS