¡Ya estamos en Twitter!

Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad

Desplegar HTML

por Uriel Lizama

Introducción

Una de las grandes ventajas de perl es la capacidad de interactuar con el navegador para deplegar lo que deseamos. Es decir podemos en vez de desplegar las cosas como simple texto, las podemos desplegar en HTML.

Esto es necesario si deseamos crear aplicaciones CGI.

Funcion

En realidad todo se hace con una sola linea:

print "Content-type: text/html\n\n";

Esta linea nos dice, que de ahí en adelante todo el "print" se va a desplegar como HTML.

Pero lo que vamos a ver con este tutorial son dos metódos de "print" que podemos utilizar para esto.

Simple PRINT

El mas sencillo es utilizar el "print" normal. Vamos a ver ahora un sencillo ejemplo:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "ESTO ES UNA PRUEBA";

En este ejemplo como no pusimos las etiquetas "" y "". Nuestro interpretador las va a poner por nosotros.

Ahora veamos otro ejemplo:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html>\n"
print "<body bgcolor=\"#FF0000\">\n";
print "<center>HOLA TODOS</center>\n";
print "</body>\n";
print "</html>\n";

Aquí podemos ver nuevos elementos, como los son "\n" y nuestro escape \".

Aquí utilice la nueva linea para que en el momento que vea el codigo puro de HTML no lo despliegue en una sola linea. Esto no es necesario para que se despliegue bien el HTML, sin utilizar la nueva linea se va a ver de la misma manera. Solamente que a mi me gusta utilizarlo, porque le da estética cuando veo el codigo puro de HTML.

Por otro lado utilizamos el escape de comillas por la simple razón de que nuestro interpretador de perl pensaría que ahí acaba nuestra linea de print. Hay que recordar que a su vez hay que utilizar escape para los simbolos $, @, %, y &.

Este método aunque fácil, llega a ser sumamente complicado, debido a que necesitamos iniciar un nuevo "print" por cada linea y debemos de dar escape a las comillas.

Ahora vamos a ver un nuevo método. Y personalmente el más útil.

Nuevo print

Cuando uno crea una aplicación CGI y trabaja con mucho despliegue HTML llega a ser tedioso y frustrante dar escape a cada comilla que nos encontramos.

Es por eso que a mi me gusta mas este método. Es sumamente sencillo y le vas a tomar cariño en seguida.

La sintaxis es como siguiente:

print "Content-type: text/html\n\n";
print<<EOF;
todo el código HTML
EOF

La primera linea es el indicador que todo el print que sigue va a ser codigo HTML. Como puedes ver siempre es necesario.

Ahora veamoslo de nuevo

print<<EOF;

esto nos indica que abrimos algo así como una campo de print, donde todo lo que sigue va a ser un gran "print" y este campo lo terminamos con

EOF

que nos indica el fin del campo.

Para poder apreciarlo mejor, veamos el ejemplo anterior con la nueva técnica:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print<<EOF;
<html>
<body bgcolor="#FF0000">
<center>HOLA TODOS</center>
</body>
</html>
EOF

Como puedes ver el código se hace mas claro. Ahora no necesitamos el "\n" explicito ya que nuestro interpretador crea las nuevas lineas automaticamente.

Tambén ya no es necesario utilizar una escape de comillas.

PRECAUCION: Aunque ya no necesitemos utilizar escape de comillas, todos los demas simbolos que necesitan escape AUN necesitan el escape (Valga la redudancia).

Ya que vimos como desplegar páginas HTML, ahora vamos a un ejemplo más complicado y completo.

print "Content-type: text/html\n\n";

my $nombre = 'Uriel Lizama';
my $sitio = 'www.BaboonSoftware.com';
my $lema = 'Un buen programador es aquel que con su intelecto puede trabar una maquina con dos lineas de codigo';

print<<EOF;
<html><head><title>EJEMPLO DE HTML</title></head>
<body>
<center><h1>HOLA, <font color="red">$nombre</font></h1></center>
<br><br>
Bienvenido a <b>$sitio</b>....<br>
<br>
donde <b>$lema</b>
<br><br><br>
Para poder desplegar los simbolos:<br>
<center><font color="blue">\$, \@</font> y <font color="blue">\&</font> </center>
<br><br>
Se debe de dar escape a los simbolos de la siguiente manera:<br>
<center><font color="blue"> \\\$, \\\@, \\\& </font></center>
</body>
</html>
EOF

exit(1);

Al correr este codigo, vas a ver como perl remplaza las variables por su valor. Esto es muy poderoso porque así podemos crear nuestras aplicaciones CGI.

Ventajas - Desventajas

La gran ventaja, es la capacidad de crear aplicaciones CGI. Con esto podemos crear programas amigables para los usuarios y con un poco de creación, podemos hacerlos sumamente llamativos.

Aunque no tiene desventajas, el mal uso puede llegar a crear programas con grandes brechas de seguridad.

Codigo Final

#!/usr/bin/perl -w

use strict;


#MODIFICA LAS VARIABLES

my $nombre = 'Uriel Lizama';
my $sitio = 'www.BaboonSoftware.com';
my $lema = 'Un buen programador es aquel que con su intelecto puede trabar una maquina con dos lineas de codigo';

#Descomenta la funcion que deseeas probar
#&html_EOF;
&html_linea;


#Ejemplo de HTML con metodo EOF
sub html_EOF{

#Le indicamos al sistema que vamos a imprimir HTML a partir
#de esta linea
print "Content-type: text/html\n\n";

#Abrimos un campo donde insertaremos el codigo HTML
print<<EOF;
<html><head><title>EJEMPLO DE HTML</title></head>
<body>
<center><h1>HOLA, <font color="red">$nombre</font></h1></center>
<br><br>
Bienvenido a <b>$sitio</b>....<br>
<br>
donde <b>$lema</b>
<br><br><br>
Para poder desplegar los simbolos:<br>
<center><font color="blue">\$, \@</font> y <font color="blue">\&</font> </center>
<br><br>
Se debe de dar escape a los simbolos de la siguiente manera:<br>
<center><font color="blue"> \\\$, \\\@, \\\& </font></center>
<p>
<hr>
</body>
</html>
EOF

#En la linea de arriba indicamos que cerramos el campo de
#codigo HTML

}


#EJEMPLO DE HTML imprimiendo linea por linea
sub html_linea{

#Debemos imprimir linea por line dando escape a las " con \
print "Content-type: text/html\n\n";
print "<html><head><title>EJEMPLO DE HTML</title></head>\n";
print "<body>\n";
print "<center><h1>HOLA, <font color=\"red\">$nombre</font></h1></center>\n";
print "<br><br>\n";
print "Bienvenido a <b>$sitio</b>....<br>\n";
print "<br>";
print "donde <b>$lema</b>";
print "<br><br><br>\n";
print "Para poder desplegar los simbolos:<br>\n";
print "<center><font color=\"blue\">\$, \@</font> y <font color=\"blue\">\&</font> </center>\n";
print "<br><br>\n";
print "Se debe de dar escape a los simbolos de la siguiente manera:<br>\n";
print "<center><font color=\"blue\"> \\\$, \\\@, \\\& </font></center>\n";
print "</body>";
print "</html>";

}

exit(1);


¿Quiéres más tutoriales como este? Escribir tutoriales toma una gran cantidad de tiempo y esfuerzo. Si este tutorial te ayudó a aprender o a solucionar algo, por favor considera dejar alguna donación en apoyo a Perl en Español.

Cliquea en el botón de abajo para dejar tu donación por medio de PayPal.

Comparte:
Categorías de Tutoriales:
En Nuestros Foros:

    Software error:

    junk after document element at line 1, column 32, byte 32 at /usr/lib64/perl5/vendor_perl/XML/Parser.pm line 187.
    

    For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error.

  • Entra a los foros »
Socializa:
Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Perl en Español es mantenido con Movable Type
Todo el contenido de Perl en Español está bajo una licencia CC:
Creative Commons License