Hello World

Configuración .htaccess del directorio de instalación de NES


Options +ExecCGI
AddHandler cgi-script .cgi .pl

<FilesMatch \.(nsql|nes.cfg)$>
  order deny,allow
  deny from all
</FilesMatch> 

Configuración .htaccess de cada directorio donde se ejecutan las plantillas de NES.


AddHandler perl-nes .nhtml
AddHandler perl-nes .nhtm

# cambiar por el directorio de instalación de Nes
Action perl-nes /cgi-bin/nes/dispatch.cgi

<FilesMatch \.(nsql|nes.cfg)$>
  order deny,allow
  deny from all
</FilesMatch> 

Si deseamos que también se ejecute Nes con los archivos html/htm añadir:
    
 AddHandler perl-nes .html
 AddHandler perl-nes .htm
 
Con esta configuración se ejecutarán los script haciendo:
http://sitio.com/archivo.nhtml

Si deseamos hacer esto también:
http://sitio.com/archivo.cgi

Añadir:
    
Options +ExecCGI
AddHandler cgi-script .cgi .pl

Archivos nhtml y cgi


hello.nhtml:

{: NES 1.0 ('hello.cgi') :}
<html>
  <head>
    <title>Nes Hello World</title>
  </head>
  <body>
    <b>{: $ var_hello :}</b>
  </body>
</html>

El archivo nhtml debe contener en la primera linea, primer carácter, el script que se va a ejecutar, o nada y se mostrará como un archivo html más.

hello.cgi:

use Nes;
# Un objeto de la clase Singleton
my $nes = Nes::Singleton->new('hello.nhtml');

# Una variable donde se guarda la información
# que se va a mostrar en el html
my $nes_tags = {};

$nes_tags->{'var_hello'} = 'Hello World!';

# las cosas que haga tu script
# ...

# Por último enviar los datos a mostrar a nes
$nes->out(%$nes_tags);


Poco más que esto es lo que se necesita aprender para hacer aplicaciones basadas en Nes.

Nes esta orientado al código HTML, por lo que apenas existen funciones o código a incluir en los script Perl, lo importante es saber que en vez de hacer print “<html> lo que sea...” definimos una variable en nuestro script Perl y la mostramos en el HTML mediante el Tag {: $ var :}