• Publicidad

Error en script, novato total

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

Error en script, novato total

Notapor frodusete » 2005-07-05 09:05 @420

Hola.

Estoy intentando abrir un archivo utilizando open() mediante el siguiente script:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
fichero = "books"
# apertura sin variable
#open (MANIPULADOR, "books");
# apertura con fichero almacenado en variable
open (MANIPULADOR, "< $fichero");
close MANIPULADOR;
exit 0
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

El error que me sale es el siguiente :
syntax error at ./sperl4.pl line 6, near "open "
Execution of ./sperl4.pl aborted due to compilation errors.


¿Me podría indicar alguien qué es lo que estoy haciendo mal??

Un saludo y muchas gracias.
frodusete
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2005-07-05 08:53 @412

Publicidad

Notapor monoswim » 2005-07-05 13:50 @618

El error está más arriba, en

fichero = "books"

¡¡¡ No tiene el ';' final !!!

Es:

fichero = "books";

Saludos.
P.D.: Fíjate que tampoco imprimes ningún mensaje de tarea terminada...
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

¡¡¡bienvenido!!!

Notapor QUEDIFICILPERL » 2005-07-05 16:20 @722

En realidad también soy muy novato pero yo cambiaría la línea que dice:

fichero = "books"

por:

$fichero = "books" ;

es decir, sólo agregaría '$' y ';'.

Pero si aún sigues sin poder correr tu programa quizá deberías especificar qué tipo de archivo tratas de abrir, es decir, "books.txt" o "books.dat", y no simplemente "books".


Saludos

Atte.: QUEDIFICILPERL
http://mx.geocities.com/jpablo_esfm/
QUEDIFICILPERL
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2004-11-17 14:07 @630
Ubicación: México

Notapor frodusete » 2005-07-06 05:50 @284

Hola.

Tras cambiar y poner '$' y ';' al finalizar la línea, lo probé y funcionó. Hasta que uno se acostumbre a los ';' del final de línea...

Un saludo y muchas gracias.
frodusete
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2005-07-05 08:53 @412

Notapor monoswim » 2005-07-06 07:37 @359

¡ja,ja,ja!, es verdad, también faltaba el '$' para nombrar la variable... Por esas razones doy gracias a los editores de lenguajes... ¡je,je!

Saludos
P.D.: En la sección de tutoriales tienes uno de kidd que habla sobre variables y todo ese rollo... ¡¡¡ Está muy bueno !!!
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor kidd » 2005-07-06 08:59 @416

Hola.

Es típico cuando eres principiante de Perl que te olvides de las ';' finales. A mi me pasaba todo el tiempo, y lo peor es cuando tienes un código de 5 mil líneas que de pronto no funciona, y todo porque en algún lugar falta un ';' final.

Pero llega un momento en que te acostumbras y automáticamente pones un punto y coma final.

Ahora, recuerda también que a Perl no le importan los espacios, por ejemplo, prueba los siguientes códigos:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print "HOLA\n";
  2.  
  3. print "HOLA\n"
  4. ;
  5.  
  6. print
  7. "HOLA\n"
  8. ;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Verás que todos tienen el mismo resultado.

Aunque recuerda que es MUY recomendable que guardes un estilo cuando programas, por conceptos de legibilidad y mantenimiento.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: Error en script, novato total

Notapor explorer » 2013-08-19 13:14 @593

Una pequeña aclaración:

El carácter ';' no es 'fin de sentencia', sino que sirve para 'separar sentencias'.

La prueba es que puede escribir esto en Perl:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. {
  2.     print "Hola\n"
  3. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

No es necesario un ';' porque solo hay una sentencia.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
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: No hay usuarios registrados visitando el Foro y 0 invitados

cron