archivo: template.html
Código:
<html>
<head><title>Titulo</title></head>
<body>
--TEXTO--
</body>
</html>
archivo: validar.cgi (omito detalles como validacion de usuarios, etc)
Código:
#!/usr/bin/perl -w
use CGI;
use strict;
my $query = CGI->new();
my $usuario = $query->param('usuario');
my $pass = $query->param('pass');
my $archivo_template = "/directorio/template.html";
my $texto;
OPEN ARCHIVO, $archivo_template || die ("No se pudo abrir el template!!!");
while <ARCHIVO> { $template .= $_; }
close ARCHIVO;
if (!$usuario || !$pass) {
$texto = "Falta ingresar Usuario/Contraseña<br>\n";
}
elsif (! &usuarioValido($usuario, $pass) ) {
$texto = "Usuario Inexistente/Contraseña incorrecta<br>\n";
}
else {
$texto = <<FORM
<form name="formulario" action="validar.cgi" method="post">
<input type="text" name="usuario"><br>
<input type="password" name="pass"><br>
<input type="submit" value="Entrar">&nbsp;<input type="reset" value="Reestablecer">
</form>
FORM
;
}
$template =~ s/--TEXTO--/$texto/;
print "Content-type: text/html\n\n",
$template;
exit;
sub usuarioValido {
my ($usuario, $pass) = (shift, shift);
# la validacion necesaria
return $valido;
}
obviamente, lo escribi asi nomas aca, dudo que funcione, pero esa sería la idea, mas o menos.