• Publicidad

Error: Not a GLOB reference

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

Re: Error: Not a GLOB reference

Notapor explorer » 2013-07-10 05:46 @282

Hay un error sintáctico en la línea 16. Falta un ';' entre las sentencias.

Y hay un error lógico: estás usando la misma variable $FITX para dos usos distintos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Error: Not a GLOB reference

Notapor Eowyn » 2013-07-10 11:13 @509

Esto no lo entiendo muy bien. Yo pensaba que en $FITX tengo el archivo y que al hacer
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. while (my $lerroADI = <$FITX>) {
  2.     chomp $lerroADI;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

lo que hago es leer la primera línea de ese archivo y guardarla en $lerroADI, ¿no es así?

Es que ahora que te leo, me da un poco la impresión de que con $FITX leo todo el archivo y cargo la tabla hash y que luego no me deja por tanto leer la primera línea porque ya la he pasado. ¿Qué debería hacer entonces? ¿Cerrar el archivo y volver a abrirlo en otra variable? :roll:
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Re: Error: Not a GLOB reference

Notapor explorer » 2013-07-10 13:06 @587

El error es que en la línea 28 estás intentando leer una línea del archivo asociado a $FITX, pero resulta que $FITX no es un gestor de archivo, sino un objeto XML::Path, tal como lo tienes puesto en la línea 16.

Entonces... da la impresión de que en la línea 28 quieres hacer referencia a la variable $FITX que definiste en la línea 5. El problema es que, para Perl, en la línea 28, la que tiene efecto es la creada en la línea 16.

Así que... el consejo es que le cambies de nombre a una de las dos variables. Por ejemplo, en las líneas 16 y 18, en lugar de usar $FITX, le puedes poner $FITXA.

Tampoco me gusta mucho que tengas el open() fuera de la subrutina donde lees las líneas. Es mejor tener el trío open, read y close en el mismo contexto (dentro de las mismas llaves).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Error: Not a GLOB reference

Notapor Eowyn » 2013-07-11 03:10 @174

Muchas gracias, lo voy a intentar. :roll:
Eowyn
Perlero nuevo
Perlero nuevo
 
Mensajes: 45
Registrado: 2011-06-04 08:51 @410

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados