HTML::Tags y su programa cliente usehtmltags.pl. 
Para cada tag HTML de la forma
<tag attr1="val1" attr2="val2"> texto </tag>el módulo provee una función
tag que cuando es llamada 
como sigue:
  tag('texto', attr1 => 'val1', attr2 => 'val2')
retorna el texto HTML anterior. Así por ejemplo, la llamada:
A("Visite nuestra página", href=>"nereida.deioc.ull.es");
debería devolver la cadena:
<A href="nereida.deioc.ull.es">Visite nuestra página</A>La llamada:
font("Alerta!", color=>red);
devolverá:
<font color="red">Alerta!</font>etc.
Necesitará una función AUTOLOAD para realizar esta práctica.
Para la subrutina generada utilize la estrategia de paso de parámetros a través de un hash para tener argumentos con nombres (véase la sección 1.15.7)
Las funciones creadas serán insertadas en el paquete/espacio de nombres
especificado como argumento de la directiva use HTML::Tags, como se muestra 
en el siguiente ejemplo:
use HTML::Tags 'MyHTML';
{
  package MyHTML;
    my $t =  
      html(
        head(title('Hello World!),
        body(
          h1('Hello World!'),
          p,hr,p,
        )
     )
}
# de nuevo en package main
print "$t\n";
Si no se especifica un argumento a  use HTML::Tags se utilizará
el espacio de nombres HTML::Tags.
Casiano Rodríguez León
