Bueno, el módulo te permite crear el calendario. Y luego, con un poco de trabajo (y mucho estudio) puedes modificar el contenido:
Using perl Syntax Highlighting
my $calendario = HTML
::CalendarMonth->new(
month
=> $mes,
year
=> $anno,
locale
=> 'es',
week_begin
=> 2
,
border
=> 0
,
cellpadding
=> 5
,
cellspacing
=> 0
,
);
# Color de domingo
$calendario->col(6)->attr(class
=> 'domingo');
#$calendario->item(($calendario->dayheaders())[0])->attr(class => 'festivo');
# Reemplazar los titulares de los días
my @DIAS = qw( D L M X J V S
);
my @dias = $calendario->dayheaders();
for my $i ( 0
.. 6
) {
$calendario->item($dias[$i])->attr(class
=> 'sobrepub');
$calendario->item($dias[$i])->replace_content($DIAS[$i]);
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Fíjate: creamos el calendario, y luego cambio el aspecto de la columna 6, la de los domingos. Lo que hace esa línea es agregar el atributo
class a todos los <td> de esa columna, con el valor del estilo 'domingo'.
Y el siguiente párrafo hace un cambio de los contenidos de las celdas de la primera fila, la que muestran los nombres de los días:
* En @dias guardamos esas celdas, como objetos
* Luego un bucle, en que para cada una de esas celdas (
$dias[$i]), las buscamos dentro del calendario (
item()) y les agregamos un atributo (
attr()) consistente en una clase de estilos, igual que antes hemos hecho con los domingos
* Luego, reemplazamos todo el contenido de la celda, con uno nuevo.