<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Y también se puede hacer esto:<br><br>use nes;<br><br>my $nes_tags = {};<br>$nes_tags->{'number'} = int rand 10;<br><br>my $nes_code = 'El número de la suerte es: <b>{: $ number :}</b>';<br>my $interpret = nes_interpret->new($nes_code);<br>print $interpret->go( %$nes_tags );<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">De:</span></b> Skriptke <skriptke@yahoo.es><br><b><span style="font-weight: bold;">Para:</span></b> Lista de correo de Madrid Perl Mongers <madrid-pm@pm.org><br><b><span style="font-weight: bold;">Enviado:</span></b> vie,19 febrero,
2010 12:02<br><b><span style="font-weight: bold;">Asunto:</span></b> Re: [Madrid-pm] Curso acelerado de Nes<br></font><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>Perdón...<br><br>use nes;<br>my $container = nes_container->new('template.nhtml');<br>my $nes_tags = {};<br><br>$nes_tags->{'number'} = int rand 10;<br>$container->set_tags(%tags);<br>$container->interpret();<br>$container->out();<br><br>Me he levantado a las 6 y me acosté tarde...<br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">De:</span></b> Skriptke <skriptke@yahoo.es><br><b><span style="font-weight: bold;">Para:</span></b> Lista de correo de Madrid Perl Mongers <madrid-pm@pm.org><br><b><span style="font-weight:
bold;">Enviado:</span></b> vie,19 febrero, 2010
11:51<br><b><span style="font-weight: bold;">Asunto:</span></b> Re: [Madrid-pm] Curso acelerado de Nes<br></font><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>También puedes hacer un uso tradicional de Nes, pero como ofrece ninguna ventaja sobre otros sistemas de plantillas está sin documentar, aunque lo haré cuando tenga un rato:<br><br>use nes;<br>my $container = nes_container->new('template.nhtml');<br>my $nes_tags = {};<br><br>$nes_tags->{'number'} = int rand 10;<br>$self->{'container'}->set_tags(%tags);<br>$self->{'container'}->interpret();<br>$self->{'container'}->out();<br><br>La clase Singleton la implementé entre otros para simplificar el uso de Nes.<br><br>* Estoy escribiendo estas cosas de cabeza y no me funciona muy bien, disculpar si hay erorres :-)<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family:
arial,helvetica,sans-serif; font-size: 10pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">De:</span></b> Salvador Fandiño <sfandino@yahoo.com><br><b><span style="font-weight: bold;">Para:</span></b> Lista de correo de Madrid Perl Mongers <madrid-pm@pm.org><br><b><span style="font-weight: bold;">Enviado:</span></b> vie,19 febrero, 2010 10:42<br><b><span style="font-weight: bold;">Asunto:</span></b> Re: [Madrid-pm] Curso acelerado de Nes<br></font><br><br>Skriptke wrote:<br>> Lo primero que ha sido un placer conoceros, pero tengo una espinita clavada con Diego cuando me confeso que no supo hacer funcionar Nes, y yo que presumo de que es fácil de usar... :-)<br>> <br>> Que es Nes:<br>> <br>> Un sistema para la separación del código ejecutable Perl y la representación de los datos generados en HTML mediante Tags HTML que son reemplazados por variables creadas en Perl.<br>> <br>>
De momento no es ninguna otra
cosa.<br>> <br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=Principios%20de%20Nes">http://nes.sourceforge.net/miniblog/es/?item=Principios%20de%20Nes</a><br>> <br>> Caso práctico:<br>> <br>> Página que muestra un número aleatorio.<br>> <br>> Creamos la plantilla :<br>> <br>> lucky.nhtml<br>> {: NES 1.0 ('lucky.pl') :}<br>> {: # la linea {: NES 1.0 ('lucky.pl') :} le dice a Nes<br>> que cargue el el script lucky.pl para esta plantilla<br>> :}<br>> <html><br>> <head><br>> <title>Suerte</title><br>> </head><br>> <body><br>> {:# {: $ number :} es la variable $nes_tags->{'number'} :}<br>> El número de la suerte es: <b>{: $ number :}</b><br>> </body><br>> </html><br>> <br>> Creamos el
script Perl:<br>>
<br>> lucky.pl<br>> use nes;<br>> <br>> # Único objeto a instanciar en Perl<br>> my $nes = Singleton->new();<br>> <br>> # Las variables que Nes va a reemplazar en la plantilla<br>> my $nes_tags = {};<br>> $nes_tags->{'number'} = int rand 10;<br>> <br>> # Único método de Singleton, que envÃa los datos a reemplazar<br>> $nes_tags->out(%$nes_tags)<br>> <br>> <br>> Y ahora la gracia de Nes, lo convertimos en un objeto:<br>> <br>> lucky.nhtml<br>> {: NES 1.0 ('lucky.pl') :}<br>> {: $ number :}<br>> <br>> Y lo podemos insertar en cualquier página Web asÃ:<br>> <br>> template.nhtml:<br>> {: NES 1.0 script.pl :}<br>> <html><br>> <head><br>> <title>Lo que sea</title><br>> </head><br>> <body><br>> ...<br>> El número de la suerte es: <b>{: include
lucky.nhtml :}</b><br>> ...<br>> </body><br>> </html><br>> <br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=Objetos">http://nes.sourceforge.net/miniblog/es/?item=Objetos</a><br>> <br>> En vez de mostrar un número, nuestro objeto podÃa mostrar un formulario, un script PHP, JavaScript, Ajax, etc. o una mezcla. El Tag “include†admite parámetros:<br>> <br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=Tag%20include%20%28file%29">http://nes.sourceforge.net/miniblog/es/?item=Tag%20include%20%28file%29</a><br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=Paradigma%20Nes">http://nes.sourceforge.net/miniblog/es/?item=Paradigma%20Nes</a><br>> <a rel="nofollow" target="_blank"
href="http://nes.sourceforge.net/miniblog/es/?item=Incluir%20PHP%20y%20otros">http://nes.sourceforge.net/miniblog/es/?item=Incluir%20PHP%20y%20otros</a><br>> <br>> Prácticamente con esto, ya sabéis Nes, además de $ y de include hay 8 Tags más, se aprenden en un rato, y el único objeto que tendremos que instanciar en nuestro script Perl es uno de la clase Singleton y como sólo tiene un método (out) tampoco tiene perdida.<br>> <br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=Sintaxis%20de%20Nes">http://nes.sourceforge.net/miniblog/es/?item=Sintaxis%20de%20Nes</a><br>> <a rel="nofollow" target="_blank" href="http://nes.sourceforge.net/miniblog/es/?item=La%20clase%20Singleton">http://nes.sourceforge.net/miniblog/es/?item=La%20clase%20Singleton</a><br>> <br><br>Un par de cuestiones de estilo:<br><br>1) Singleton es un muy mal nombre para un paquete. Llamale Nes o Nes::Stash<br><br>2) nes
tampoco es un buen nombre, los nombre en minusculas estan reservados para pragmas (strict,
autodie, etc). Usa Nes o NES<br><br>3) Si tu clase realmente es un singleton, no necesitas el new, directamente tendrias que poder hacer<br><br> Nes::Stash->set(%datos);<br><br>por ejemplo asi<br><br> package Nes::Stash;<br><br> my $singleton;<br><br> sub set {<br> my $self = shift;<br> ref $self or $self = ($singleton ||= __PACKAGE__->_new);<br> $self->...<br> }<br><br>... pero claro solo si es un singleton de verdad, que con la estructura que tienes no tengo muy claro que lo sea!<br><br>- Salva<br>_______________________________________________<br>Madrid-pm mailing list<br><a rel="nofollow" ymailto="mailto:Madrid-pm@pm.org" target="_blank" href="mailto:Madrid-pm@pm.org">Madrid-pm@pm.org</a><br><a rel="nofollow" target="_blank" href="http://mail.pm.org/mailman/listinfo/madrid-pm">http://mail.pm.org/mailman/listinfo/madrid-pm</a></div></div>
</div><br>
</div></div>
</div><br>
</div></div>
</div><br>
</body></html>