• Publicidad

Error al llamar función en callback

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Error al llamar función en callback

Notapor 60N2410 » 2011-12-22 05:53 @287

¡Hola!

Tengo definido un archivo de funciones "funciones.pm" ubicado en /usr/share/perl5/, en el cual tengo definida una función "func($parm)" que recibe el string $parm y retorna un arreglo. Luego, en mi programa principal hago esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. .....
  2. use funciones;
  3. .....
  4. .....
  5. sub buscar{
  6. ...
  7. my $lista = Gtk2::SimpleList->new(
  8.                         Nombre => 'text'
  9.             );
  10. ....
  11. $lista->signal_connect (row_activated =>
  12.    sub{
  13.       my ($slist, $path, $column,$ref) = @_;
  14.       my $row_ref = $slist->get_row_data_from_path ($path);
  15.       my @arreglo=@{$row_ref};
  16.       my @arr=func($arreglo[0]);
  17.       ....
  18.    });
  19. .....
  20. }
  21.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Al llamar a la función func() dentro del callback me da el siguiente error:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
*** unhandled exception in callback:
***   Unexpected EOF at /usr/share/perl5/funciones.pm line 328.
***  ignoring at ./principal.pl line 1069.
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Pero si la llamada a la función la hago fuera del callback en cualquier otro lugar, funciona perfectamente. Pero necesito llamarla dentro del callback ya que preciso el dato que se selecciona al dar doble clic en la lista.

¿Alguna idea de lo que puede estar pasando?

¡Muchas gracias!
60N2410
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2011-12-08 15:16 @678

Publicidad

Re: Error al llamar función en callback

Notapor explorer » 2011-12-22 06:36 @317

El error dice que se ha encontrado un fin de fichero en la línea 328 de funciones.pm.

Es posible que el programa esté llamando a la callback antes de que el fichero haya sido abierto. O que haya ocurrido un close() del fichero antes de la llamada.

P.D. No necesitas colocar funciones.pm en un directorio del sistema. Valdría con ponerlo en el mismo directorio donde está el programa principal.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 23 invitados

cron