Página 1 de 1

Foreach dentro de un eval

NotaPublicado: 2013-07-18 07:06 @338
por silva
Estoy utilizando un eval, para controlar múltiples inserciones en una base de datos transaccional. la idea es ejecutar un foreach dentro del eval, y por cada elemento foreach hacer una inserción en tabla.

Sintáxis: [ Descargar ] [ Ocultar ]
  1. eval { 
  2.    foreach my $elemento (@arreglo) { 
  3.  
  4.       insertar en tabla 
  5.    } 
  6. }; 
  7. .... otras sentencias ... 


La pregunta es, que no sé por qué razón NO INGRESA dentro del eval y ejecuta el foreach. Directamente está ejecutando las sentencias siguientes al cierre del eval, y no ingresa. Estoy trabajando con cgi_application.

¡¡¡Gracias!!!

Re: Foreach dentro de un eval

NotaPublicado: 2013-07-18 09:58 @457
por explorer
A mí sí que me funciona, el siguiente ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use v5.16;
  3.  
  4. my @arreglo = qw(Unas cuantas palabras sin nada que decir);
  5.  
  6. eval {
  7.     foreach my $var (@arreglo) {
  8.         say $var;
  9.     }
  10. };
  11.  
  12. say "FIN";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Prueba a sacar el valor de @arreglo, o el número de elementos que hay en @arreglo, antes de entrar en el eval{}.

Un eval con un {} hace la compilación del código en la fase de compilación de todo el programa.

¿Qué versión de Perl estás usando? Podría ser un problema del intérprete.