• Publicidad

Crear array con variables

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

Crear array con variables

Notapor krosty4782 » 2010-09-03 19:34 @857

Hola, ¿qué tal?

Lo que quiero hacer es crear un array, y que luego mientras lee las líneas de un txt, almacene cada línea en una posición del array.

Lo que hice fue lo siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @lineas = ('');
  2. $i=0;
  3. open (PAGINA, "averga.txt");
  4. while (<PAGINA>)
  5. {
  6. push(@lineas, $_);
  7. print "$lineas[i];
  8. $i=$i+1;
  9. }
  10. close(PAGINA);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


A ver quién me puede ayudar :P

Gracias
krosty4782
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2010-09-03 19:33 @856

Publicidad

Re: Crear array con variables

Notapor explorer » 2010-09-03 19:46 @865

Bienvenido a los foros de Perl en Español, krosty4782.

Lo tienes casi bien. Esta es la versión corregida:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @lineas;
  2. my $i = 0;
  3. open (PAGINA, "averga.txt");
  4. while (<PAGINA>) {
  5.     chomp;         # quitamos el carácter de retorno de carro, que casi siempre nos sobra
  6.     push(@lineas, $_);
  7.     print "$_\n";
  8.     $i++;
  9. }
  10. close(PAGINA);
  11. print "Número de líneas: $i\n";
  12.  
  13. use Data::Dumper;
  14. print Dumper \@lineas;    # Volcado del contenido de @lineas
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Las dos últimas líneas son de pruebas: nos sirven para sacar el contenido de @lineas, y de esa manera comprobar que, efectivamente, cada línea está en cada elemento de @lineas.
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

Re: Crear array con variables

Notapor krosty4782 » 2010-09-03 23:52 @036

Gracias por tu respuesta explorer, pero sigo sin poder hacer lo que quiero.

Modifiqué el código y queda así:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. @lineas; 
  2. $i = 0; 
  3. open (PAGINA, "averga.txt"); 
  4. while (<PAGINA>) 
  5. chomp; 
  6. push(@lineas, $_); 
  7.  
  8. `host $lineas[i]`; 
  9.  
  10. $i++; 
  11.  
  12. close(PAGINA); 


O sea, yo quiero que aplique el "host" para cada posición del array, por eso es que creo un i y voy aumentando su valor.

Gracias.
krosty4782
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2010-09-03 19:33 @856

Re: Crear array con variables

Notapor explorer » 2010-09-04 07:35 @358

Primero, no es 'i', sino '$i'. Si hubieras puesto 'use strict;' o 'use warnings;', Perl te hubiera avisado.

En cuanto al problema, no necesitas guardar la línea en el array, ya que, directamente, la vas a pasar al comando host:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open (PAGINA, "averga.txt");
while (my $linea = <PAGINA>) {  # leemos una línea del fichero
    print $linea;               # informamos al usuario
    chomp $linea;               # quitamos fin de línea
    print qx(host $linea);      # lo pasamos a host y pintamos el resultado
}
close(PAGINA);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Otra cosa es que quieras guardar las líneas y/o la salida del comando host en una variable, para utilizarlo más tarde.
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

Re: Crear array con variables

Notapor krosty4782 » 2010-09-04 15:07 @671

¡¡¡ Gracias, che !!!
Me estaba comiendo el signo $; estoy acostumbrado a Java xDDD

Saludos.
krosty4782
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2010-09-03 19:33 @856


Volver a Básico

¿Quién está conectado?

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