El bloque se sustituye por "HTML" si expresión resulta cierto.
Expresión puede ser cualquier expresión Perl válida, incluidas expresiones
regulares Perl, la variable sólo pueden ser una variable $,
de entorno *, o un literal:
{: ~ ( $ variable =~ /hola/ ) <p>La variable nos saluda</p> :}
{: ~ ( * variable ) <p>La variable está definida</p> :}
{: ~ ( ! * variable ) <p>La variable no está definida</p> :}
Las expresiones que tengan como resultado la asignación de una variable,
devolverán cierto o falso pero la asignación no tendrá efecto:
{: ~ ( $ variable = 1 ) <p>La variable NO cambia de valor</p> :}
Los parámetros no permiten la inclusión:
{: ~ ( '{: $ var :}' ) <p>html</p> :} <- ERROR
Se permite la inclusión y anidamiento de bloques:
{: ~ ( $ monton ) {: # Los comentarios siempre se pueden incluir :}
Un montón de HTML...
...
{: ~ ( $ opcion eq 'a' )
{: include ('archivo_a.html') :}
:}
{: ~ ( $ opcion eq 'b' )
{: include ('archivo_b.html') :}
:}
...
:}
archivo.nhtml:
{: NES 1.0 ('archivo.pl') :}
<html>
<head>
<title>Nes sample/title>
</head>
<body>
<b>{: ~ $variable <p>la variable está definia</p> :}</b>
</body>
</html>
archivo.pl:
use Nes;
my $nes = Nes::Singleton->new('archivo.nhtml');
my $nes_tags = {};
$nes_tags->{'variable'} = 1;
$nes->out(%$nes_tags);
Salida:
la variable está definia