Aunque
estoy dando
gratuitamente
el código
realmente
apreciaría
que dejarás
mi firma
en el encabezado
del script
así
como la
que se despliega
al crear
el calendario.
No hay nada
que te obligue
a mantenerla
pero considera
que estoy
regalando
código,
y pues si
te gusta
sería
una manera
de apoyar
al sitio,
así
que ojala
y te sirva:
#!/usr/bin/perl
-w
use strict;
use Time::Local;
######################################################################
# Distribución:
Scripts
de Perl
en Español
(http://perlenespanol.baboonsoftware.com/)
#
# Archivo:
calendario.cgi
# Versión:
1.0
# Descripción:
Un pequeño
script
que despliega
un calendario
formateado
# Creado
por: Uriel
Lizama
#
# Parte
de los
scripts
de Perl
en Español.
Todos
los derechos
reservados
#
# E-Mail:
uriel@baboonsoftware.com
(http://perlenespanol.baboonsoftware.com/)
#######################################################################
#ESTAS
VARIABLES
DEBES
DE EDITAR
my $anio
= "2004";
#de que
año
estamos
hablando
################################################
########
NO EDITAR
ABAJO
####################
################################################
my $mes;
for($mes=1;$mes<=12;$mes++){
header_calendario_html();
#imprimir
cabeza
crear_calendario();
#crear
el calendario
footer_calendario_html();
#imprimir
pie
}
#FIRMA:
Por favor
no la
retires
print
"<p
align=\"right\">\n";
print
"<a
href=\"http://perlenespanol.baboonsoftware.com/\">Creado
por Uriel
Lizama</a>\n";
print
"</p>\n";
exit(1);
sub crear_calendario{
my $dia_inicial
= dia_semana();
my ($i,$j);
#contadores
my @dias_semana
= ('Domingo','Lunes','Martes','Miércoles','Jueves',
'Viernes','Sábado','Domingo');
my @dias_meses
= ('',
31,29,31,30,31,30,31,31,30,31,30,31);
#Año
bisiesto
hack -
YEY!....mis
locuras
ya ves
if($mes
== 2){
$dias_meses[$mes]
= 28 if
$anio%4
!= 0;
}
#Llenar
espacios
vacíos
print
"<tr>\n";
print
"<td
style=\"text-align:center;width:50px;\"> </td>\n"
x $dia_inicial;
for($i=1,$j=$dia_inicial;$i<=$dias_meses[$mes];$i++,$j++){
$j = 0
if $j
> 6;
print
"<tr>\n"
if $j
== 0;
print
"<td
style=\"text-align:center;width:50px;\">$i</td>\n";
print
"</tr>\n"
if $j
== 6;
}
} #sub
crear
calendario
sub header_calendario_html{
my @nombres_meses
= ('',
'Enero','Febrero','Marzo','Abril',
'Mayo','Junio','Julio','Agosto',
'Septiembre','Octubre','Noviembre','Diciembre');
print
"Content-type:
text/html\n\n"
if $mes
== 1;
print
"<table
align=\"center\"
border=\"1\">\n";
print
"<tr>\n";
print
"<td
style=\"text-align:center;background-color:black;color:white;\"
colspan=\"7\">$nombres_meses[$mes]</td>\n";
print
"</tr>\n";
print
"<tr>\n";
print
"<td
style=\"text-align:center;width:50px;\">D</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">L</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">M</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">M</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">J</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">V</td>\n";
print
"<td
style=\"text-align:center;width:50px;\">S</td>\n";
print
"</tr>\n";
} #sub
header_calendario_html
sub footer_calendario_html{
print
"</table>\n";
print
"<p>\n";
} #sub
footer_calendario_html
sub dia_semana{
my $gmtime
= timegm(0,0,0,"01",$mes-1,$anio-1900);
my @gmtime
= gmtime($gmtime);
#regresarlo
return($gmtime[6]);
} #sub
get_dia_semana